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

使用Python和Pandas基于另一列合并列数据

使用Python Pandas实现按分组求和需求

没问题,我来帮你搞定这个需求!针对你这个制表符分隔的文件,我们可以用Pandas快速实现按末尾字母分组、对第一列数值求和的操作,步骤很清晰:

步骤1:读取制表符分隔的文件

首先,我们需要把文件读进Pandas的DataFrame里。因为你的示例数据没有表头,我们可以手动指定列名,方便后续操作:

import pandas as pd

# 读取制表符分隔的文件,指定列名(替换成你的实际文件路径)
df = pd.read_csv('your_file.txt', sep='\t', header=None, names=['Value', 'Line', 'Start', 'End', 'Group'])

这里your_file.txt要替换成你实际的文件路径,names参数给每一列起了明确的名字,后续操作更直观。

步骤2:按分组列求和

接下来,我们按Group列(也就是你说的末尾字母)分组,对Value列(第一列)求和:

# 按Group分组,对Value列求和
sum_result = df.groupby('Group')['Value'].sum().reset_index()

groupby('Group')按字母分组,['Value'].sum()对每组的第一列数值求和,reset_index()把分组后的结果转换成普通的DataFrame格式,方便后续处理。

步骤3:输出成你需要的格式

现在我们可以把结果转换成你期望的“总和 分组”的格式:

# 遍历结果并打印
for _, row in sum_result.iterrows():
    print(f"{row['Value']} {row['Group']}")

运行这段代码后,输出就会是:

7 A
9 B
22 C

完整代码整合

把上面的步骤整合起来,完整代码如下:

import pandas as pd

# 读取文件
df = pd.read_csv('your_file.txt', sep='\t', header=None, names=['Value', 'Line', 'Start', 'End', 'Group'])

# 分组求和
sum_result = df.groupby('Group')['Value'].sum().reset_index()

# 输出结果
for _, row in sum_result.iterrows():
    print(f"{row['Value']} {row['Group']}")

如果你需要把结果保存到文件里,也可以用to_csv方法:

sum_result.to_csv('sum_result.txt', sep=' ', header=False, index=False)

这样生成的sum_result.txt里就是你要的格式啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:35:48