使用pandas dataFrames

时间:2018-04-29 15:22:36

标签: python pandas

在使用pandas dataFrames和list时,我注意到代码的行为有些奇怪。我不知道它们是否相关,或者问题是否来自我理解之外的问题。如果有人能解释原因,我将不胜感激。我的代码类似于以下示例:

list_of_df=[]
for i in range(0,5):
    df=a_function(data)
    list_of_df.append(df)

a_function正在获取名为“data”的初始dataFrame,修改并返回它。这是一个愚蠢的例子,但基本上显示了我正在进行的操作:

def a_function(data):
    data[new_column]=1
    data.loc[:,existing_column]=0
    return data

我期待的是最终list_of_df是一个不同dataFrames的列表,但最终我得到的所有dataFrames都是相同的,并且等于最后添加的那个。

当我使用以下解决方法时,代码按预期工作:

list_of_df=[]
for i in range(0,5):
    df=data.copy()
    df=a_function(df)
    list_of_df.append(df)

但我不确定为什么。谢谢你的帮助!

编辑:有关a_function在dataFrame上执行操作的更多信息

0 个答案:

没有答案