python中while和update_关于python:在逐行迭代的同时更新pandas中的数据框

本文讨论在Python中如何在遍历Pandas数据框时更新特定列的值,特别是涉及while和update操作。文章中提到了避免使用iterrows()的原因,并提供了使用at[]或iat[]等方法进行高效更新的建议。
摘要由CSDN通过智能技术生成

我有一个看起来像这样的熊猫数据框(非常大)

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 :

row['ifor'] = x

else:

row['ifor'] = y

df.ix[i]['ifor'] = x

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

我认为您想要df.ix[i,ifor]。 df.ix[i][ifor]有问题,因为它是链式索引(在熊猫中不可靠)。

您能否提供其他框架以及。 您的代码是否可以向量化将取决于这些情况。 通常,避免使用iterrows。 在您的情况下,您绝对应该避免使用它,因为每一行都是object dtype Series。

您最好为条件创建一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值