我有一个看起来像这样的熊猫数据框(它很大)
date exer exp ifor mat
1092 2014-03-17 American M 528.205 2014-04-19
1093 2014-03-17 American M 528.205 2014-04-19
1094 2014-03-17 American M 528.205 2014-04-19
1095 2014-03-17 American M 528.205 2014-04-19
1096 2014-03-17 American M 528.205 2014-05-17
现在我想逐行迭代,当我遍历每一行时,每一行中 ifor
的值可能会根据某些条件而变化,我需要查找另一个数据帧。
现在,我如何在迭代时更新它。尝试了一些东西,但都没有用。
for i, row in df.iterrows():
if <something>:
row['ifor'] = x
else:
row['ifor'] = y
df.ix[i]['ifor'] = x
这些方法似乎都不起作用。我没有看到数据框中更新的值。
原文由 AMM 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用
df.at
:对于 0.21.0 之前的版本,请使用
df.set_value
:如果您不需要行值,您可以简单地遍历
df
的索引,但我保留了原始的 for 循环,以防您需要此处未显示的内容的行值。