私は(、パンダ0.19.2時点を使用してのpython 3.5)を、以下の奇妙な行動を持って 私は、データフレームの辞書に設定した場合:データフレームのpandas辞典:列が変更されました:表示またはコピーしますか?
df1 = pd.DataFrame(index=['a', 'b'], columns=['c1', 'c2'], data=[[0,1],[2,3]])
df2 = pd.DataFrame(index=['a', 'b'], columns=['c1', 'c2'], data=[[4,5],[6,7]])
my_dict = {'f1': df1, 'f2': df2}
を、私は列をこのように変更しよう:
d = []
for key in my_dict.keys():
df = my_dict.get(key)
df.columns = [(key, x) for x in df.columns]
d.append(df)
私は最終的に辞書の値の列を変更しました。
だからmy_dict
今ある:
{'f1': (f1, c1) (f1, c2)
a 0 1
b 2 3,
'f2': (f2, c1) (f2, c2)
a 4 5
b 6 7}
そのためいかなる理由がありますか?
参照されている要素を変更するのは奇妙で(バグがある)
感謝を試してみたいことがあります。それはちょうどその私が 'my_dict =としての私の辞書定義した場合{ 'F1':1、 'F2':2}' を、私はmy_dict.keysでキーの 'dは= []' '次のようにします(df) ' ' df = my_dict.get(key) ' ' df = 2' 'd.append(df)' 'my_dict'は変更されません。 ビューまたはコピーが返される時点を指すポインタがありますか? –