如何统计Pandas DataFrame列名下划线后缀标签对应的数值总和
解决方案
你可以通过拆分列名提取情绪标签,再分组求和实现需求,具体实现代码如下:
import pandas as pd # 假设你的原始数据存储在df变量中 # 第一步:移除ID列,计算其余每列的总和 col_total = df.drop(columns=['ID']).sum() # 第二步:将列名修改为对应的效果标签(提取列名最后一段的positive/negative/neutral) col_total.index = col_total.index.str.split('_').str[-1] # 第三步:按效果标签分组求和,重置索引得到结构化结果 res = col_total.groupby(level=0).sum().reset_index() # 自定义排序匹配预期输出顺序 res = res.set_index('效果').reindex(['negative', 'positive', 'neutral']).reset_index() # 调整列名符合输出习惯 res.columns = ['效果', '数值总和'] print(res)
运行后输出的结果和你预期的一致:
效果 数值总和 0 negative 11 2 positive 9 1 neutral 5
pandas默认会显示行索引,刚好匹配你需要的0/1/2序号前缀。
内容的提问来源于stack exchange,提问作者Alf
相关产品推荐
相关产品推荐

