python lambda 循环_Python使用lambda来代替嵌套循环应用pd.DataFrame有可能吗?

是否要添加A列和B列并将结果存储在C中?然后你可以更简单:

df.C = df.A + df.B

正如@EdChum在注释中指出的那样,apply中函数的参数是一个序列,默认情况下在轴0上是行(轴1表示列):

>>> df.apply(lambda s: s)[:3]

A B C D

0 57.890858 72.344298 16.348960 84.109071

1 85.534617 53.067682 95.212719 36.677814

2 23.202907 3.788458 66.717430 1.466331

在这里,我们添加第一行和第二行:

>>> df.apply(lambda s: s[0] + s[1])

A 143.425475

B 125.411981

C 111.561680

D 120.786886

dtype: float64

要处理列,请使用axis = 1关键字参数:

>>> df.apply(lambda s: s[0] + s[1], axis=1)

0 130.235156

1 138.602299

2 26.991364

3 143.229523

...

98 152.640811

99 90.266934

产生与按名称引用列相同的结果:

>>> (df.apply(lambda s: s[0] + s[1], axis=1) ==

df.apply(lambda s: s['A'] + s['B'], axis=1))

0 True

1 True

2 True

3 True

...

98 True

99 True

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值