我有一个看起来像这样的熊猫数据框(非常大)
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
这些方法似乎都不起作用。我看不到数据框中更新的值。
<something>
?您的代码是否可以向量化取决于这些因素。通常,请避免iterrows
。在您的情况下,您绝对应该避免使用它,因为每一行都是object
dtype Series
。
df.ix[i,'ifor']
。df.ix[i]['ifor']
这是有问题的,因为它是链式索引(在熊猫中不可靠)。