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

基于两列部分字符串分组并求和的Pandas数据处理问题

Pandas按xy后缀组合分组求和实现

原始数据

首先定义目标DataFrame:

import pandas as pd
df = pd.DataFrame({'c1':['Ax','Ay','Bx','By'], 'c2':['Ay','Ax','By','Bx'], 'c3':[1,2,3,4]})

对应的表格输出:

c1c2c3
0AxAy1
1AyAx2
2BxBy3
3ByBx4

需求说明

根据c1和c2列值的末尾x/y组合(如Ax/Ay对应x/y,Bx/By对应x/y)分组,对c3列的值求和,最终得到按(x,y)、(y,x)分组的求和结果。

实现代码

# 提取c1、c2列值的最后一个字符作为分组标识
df['group_c1'] = df['c1'].str[-1]
df['group_c2'] = df['c2'].str[-1]

# 按分组标识分组求和,重置索引并重命名列
result = df.groupby(['group_c1', 'group_c2'])['c3'].sum().reset_index()
result.columns = ['c1', 'c2', 'c3']

print(result)

输出结果

c1 c2  c3
0  x  y   4
1  y  x   6

其中:

  • x-y组对应原数据中Ax-Ay和Bx-By的c3求和:1+3=4
  • y-x组对应原数据中Ay-Ax和By-Bx的c3求和:2+4=6

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:01:09