为什么插入到复制数据帧的新列也会添加到原始数据帧中?

ebr*_*imi 1 dataframe python-3.x pandas

您能否告诉我为什么新列c被添加到原始数据框中,即df_old

df_old = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df_new=df_old
df_new['c']=[5,6]
print('Old:')
print(df_old)
print('New:')
print(df_new)
Run Code Online (Sandbox Code Playgroud)

输出:

Old:
   a  b  c
0  1  3  5
1  2  4  6
New:
   a  b  c
0  1  3  5
1  2  4  6
Run Code Online (Sandbox Code Playgroud)

实际上,我需要保留原始数据帧:

   a  b  
0  1  3  
1  2  4  
Run Code Online (Sandbox Code Playgroud)

提前致谢,

Sco*_*ton 5

使用assign它创建旧数据帧的副本:

df_old = pd.DataFrame({'a': [1, 2], 'b': [3, 4]})
df_new = df_old.assign(c=[5,6])
print(df_old)
print(df_new)
Run Code Online (Sandbox Code Playgroud)

输出:

   a  b
0  1  3
1  2  4
   a  b  c
0  1  3  5
1  2  4  6
Run Code Online (Sandbox Code Playgroud)

  • 这是Wes帖子的独特信息.删除我的( - : (2认同)