[英]Changes not made to a dataframe after a for cycle
第一个问题,所以请耐心等待(因为我也是 python 和熊猫的新手)。
我正在尝试对两个数据框进行一些更改,如下所示:
dfs = [data,prev_data]
for df in dfs:
...
print(len(df))
df = df[~df['column'].isin(['X','Y'])]
print(len(df))
打印 output 是
271
162
654
396
但在关闭循环后,如果我使用
print(len(data))
print(len(prev_data))
结果又是第一次打印
271
654
由于它只有两个数据帧,因此我选择了两个单独的代码来解决问题,但是由于循环中有更多代码,因此所做的任何更改都需要进行两次。
我之前测试过所有代码,不同之处在于这部分。 如果需要,我可以在这里复制。
谢谢您的帮助。
您应该将更新的数据框存储在一个新列表中,如下所示:
dfs = [data,prev_data]
new_dfs =[]
for df in dfs:
...
print(len(df))
df = df[~df['column'].isin(['X','Y'])]
new_dfs.append(df)
print(len(df))
print(len(new_dfs[0]) #updated data
print(len(new_dfs[1]) #updated prev_data
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.