Python 复制和修改数据帧
我有3个数据帧df1、df、df3,它们都复制了原始数据帧df0Python 复制和修改数据帧,python,variables,pointers,pandas,memory,Python,Variables,Pointers,Pandas,Memory,我有3个数据帧df1、df、df3,它们都复制了原始数据帧df0 df1=df0 df2=df0 df3=df0 df1=dfo.iloc[1:,1:].div(dfo.iloc[1:,1:].sum(axis=1),axis=0) df2=dfo.iloc[1:,1:].div(dfo.iloc[1:,1:].sum(axis=1),axis=0)*ACCOUNT_CASH df3=df2//df0 print(df1) print(df2) print(df3) 不知何故,这不起作用,
df1=df0
df2=df0
df3=df0
df1=dfo.iloc[1:,1:].div(dfo.iloc[1:,1:].sum(axis=1),axis=0)
df2=dfo.iloc[1:,1:].div(dfo.iloc[1:,1:].sum(axis=1),axis=0)*ACCOUNT_CASH
df3=df2//df0
print(df1)
print(df2)
print(df3)
不知何故,这不起作用,我没有得到任何错误,但当我打印df1 df2 df3时,我所有的数据帧都是相同的!但是它们与df0不同,是因为它们都指向内存中的同一个空间,所以更改任何指针都会修改所有变量吗?如果是这样的话,我怎样才能使它工作良好。我尝试了复制(deep=True),但没有得出结论。谢谢你的台词
df1=df0
df2=df0
df3=df0
只需创建三个新绑定,其中三个新名称引用与df0
绑定的对象相同的对象
要实际创建副本,请使用:
这就解决了!你介意解释一下为什么复制(deep=True)不起作用吗?thanks@Pythus有趣-我会看一看(恐怕晚一点)。
df1=df0.copy()
df2=df0.copy()
df3=df0.copy()