我有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 df2 df3时,我所有的数据帧都是一样的!然而它们与df0不同。是因为它们都指向内存中的相同空间,因此更改任何指针实际上会修改所有变量?如果是这样,我怎样才能让它运作良好。我尝试复制(深=真),结果不确定。感谢
答案 0 :(得分:2)
你的行
df1=df0
df2=df0
df3=df0
只需创建三个新绑定,其中三个新名称引用与df0
绑定的相同的对象。
要实际创建副本,请使用pd.DataFrame.copy
:
df1=df0.copy()
df2=df0.copy()
df3=df0.copy()