复制和修改Dataframe Pandas

时间:2016-09-08 13:45:27

标签: 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 df2 df3时,我所有的数据帧都是一样的!然而它们与df0不同。是因为它们都指向内存中的相同空间,因此更改任何指针实际上会修改所有变量?如果是这样,我怎样才能让它运作良好。我尝试复制(深=真),结果不确定。感谢

1 个答案:

答案 0 :(得分:2)

你的行

df1=df0
df2=df0
df3=df0

只需创建三个新绑定,其中三个新名称引用df0绑定的相同的对象

要实际创建副本,请使用pd.DataFrame.copy

df1=df0.copy()
df2=df0.copy()
df3=df0.copy()