如何将多ID对应多笔收益数据按ID合并计算总收益?
按ID汇总CSV收益数据的解决方案
假设你用Python的pandas处理数据,按以下步骤操作就能得到每个ID一行的总收益汇总:
- 先清洗收益金额列:去掉
$符号并转为数值类型,确保能正常求和 - 按ID分组,保留每组的类型、日期(示例中每个ID的类型和日期一致,直接取每组第一条即可),对收益金额求和
- 将求和后的总收益重新格式化为带
$的字符串
代码示例
import pandas as pd # 读取目标CSV文件 df = pd.read_csv('your_input.csv') # 处理收益金额列,转换为可计算的数值 df['收益金额'] = df['收益金额'].str.replace('$', '', regex=False).astype(float) # 分组汇总:按ID聚合,保留类型、日期,计算总收益 summary_df = df.groupby('ID', as_index=False).agg( 类型=('类型', 'first'), 日期=('日期', 'first'), 总收益=('收益金额', lambda x: f"${round(x.sum(), 2)}") ) # 输出结果或保存到新CSV print(summary_df) summary_df.to_csv('summary_output.csv', index=False)
注意事项
如果同一ID对应不同的类型或日期,需要根据实际业务逻辑调整聚合方式:
- 若类型/日期有多个有效值,可改用
'mode'取众数,或者自定义逻辑筛选 - 金额求和后的小数位数可根据需求调整
round()的参数
内容的提问来源于stack exchange,提问作者Peter Porro Klinger
相关产品推荐
相关产品推荐

