You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas实现仅当AuM列非空时对AuM、NNA两列条件求和

Pandas按条件生成Sum列实现方案

核心逻辑

仅当AuM列值为非空有效值时,对AuM、NNA两列做数值求和写入Sum列;AuM为空的行,Sum列对应位置留空。
注意原始数据中AuM、NNA列混合存储了字符串、数值类型,计算前需要统一做类型转换避免报错。

完整实现代码

import pandas as pd

# 构造原始DataFrame
lst = [['01012021','',100],['01012021','','50'],['01022021',140,5],['01022021',160,12],['01032021','',20],['01032021',200,25]]
df1 = pd.DataFrame(lst, columns=['Date','AuM','NNA'])

# 初始化Sum列全为空字符串
df1['Sum'] = ''
# 筛选AuM非空的有效行
valid_rows = df1['AuM'] != ''
# 仅对有效行做数值求和
df1.loc[valid_rows, 'Sum'] = df1.loc[valid_rows, 'AuM'].astype(int) + df1.loc[valid_rows, 'NNA'].astype(int)

df2 = df1

结果说明

运行代码后,所有AuM为空的行Sum列均为空字符串,AuM非空的行自动计算两列和:

  • 01022021日期下两行的Sum值分别为145、172,和预期完全一致
  • 给出的预期输出中遗漏了原始数据最后一行['01032021',200,25]的处理结果,按逻辑该行AuM非空,Sum值应为225,如果需要和贴出的5行结果完全对齐,提前过滤掉该行即可。

内容的提问来源于stack exchange,提问作者Bsleon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 17:01:40