python中满足条件相加_python – 熊猫:如何根据其他列值的条件对列进行求和?...

本文介绍如何使用Pandas库在Python中根据特定条件对数据框的列进行求和操作,并展示了如何基于列值创建新的列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有以下pandas DataFrame.

import pandas as pd

df = pd.read_csv('filename.csv')

print(df)

dog A B C

0 dog1 0.787575 0.159330 0.053095

1 dog10 0.770698 0.169487 0.059815

2 dog11 0.792689 0.152043 0.055268

3 dog12 0.785066 0.160361 0.054573

4 dog13 0.795455 0.150464 0.054081

5 dog14 0.794873 0.150700 0.054426

.. ....

8 dog19 0.811585 0.140207 0.048208

9 dog2 0.797202 0.152033 0.050765

10 dog20 0.801607 0.145137 0.053256

11 dog21 0.792689 0.152043 0.055268

....

我通过将列“A”,“B”,“C”汇总如下来创建一个新列:

df['total_ABC'] = df[["A", "B", "B"]].sum(axis=1)

现在我想基于条件,即如果“A”< 0.78然后创建一个新的求和列df ['smallA_sum'] = df [[“A”,“B”,“B”]].sum(axis = 1).否则,该值应为零. 如何创建这样的条件语句? 我的想法是使用

df['smallA_sum'] = df1.apply(lambda row: (row['A']+row['B']+row['C']) if row['A'] < 0.78))

但是,这不起作用,我无法指定轴.

如何根据其他列的值创建列?

你也可以为每个df [‘dog’] ==’dog2’做一些事情,创建列dog2_sum,即

df['dog2_sum'] = df1.apply(lambda row: (row['A']+row['B']+row['C']) if df['dog'] == 'dog2'))

但我的方法不正确.

`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值