gpt4 book ai didi

python - 逐行迭代时更新 Pandas 中的数据框

转载 作者:IT老高 更新时间:2023-10-28 12:25:30 25 4
gpt4 key购买 nike

我有一个看起来像这样的 pandas 数据框(它很大)

           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

这些方法似乎都不起作用。我没有看到数据框中更新的值。

最佳答案

你可以使用df.at:

for i, row in df.iterrows():
ifor_val = something
if <condition>:
ifor_val = something_else
df.at[i,'ifor'] = ifor_val

对于0.21.0之前的版本,使用df.set_value:

for i, row in df.iterrows():
ifor_val = something
if <condition>:
ifor_val = something_else
df.set_value(i,'ifor',ifor_val)

如果您不需要行值,您可以简单地遍历 df 的索引,但我保留了原始 for 循环,以防您需要此处未显示的内容的行值。

关于python - 逐行迭代时更新 Pandas 中的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23330654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com