【发布时间】:2018-10-03 20:10:19
【问题描述】:
我有两个DataFrames,我想执行相同的清理操作列表。
我意识到我可以合并为一个,并且一次通过所有内容,但我仍然很好奇为什么这种方法不起作用
test_1 = pd.DataFrame({
"A": [1, 8, 5, 6, 0],
"B": [15, 49, 34, 44, 63]
})
test_2 = pd.DataFrame({
"A": [np.nan, 3, 6, 4, 9, 0],
"B": [-100, 100, 200, 300, 400, 500]
})
假设我只想在没有NaNs 的情况下获取原始数据:我试过了
for df in [test_1, test_2]:
df = df[pd.notnull(df["A"])]
但test_2 保持不变。另一方面,如果我这样做:
test_2 = test_2[pd.notnull(test_2["A"])]
现在我的第一个 raw 走了。
【问题讨论】:
-
您将输出分配给循环变量
df。底层数据帧保持不变。
标签: python list pandas iteration