如何在DataFrame中添加带标识的总计行且不影响列值?
解决DataFrame添加带标识的总计行问题
原数据构造
先还原你提供的DataFrame:
import pandas as pd data = { 'Sec': ['AAA', 'BBB', 'CCC'], 'issues': [22, 33, 44], 'Gaps': [5, 2, 1] } df = pd.DataFrame(data)
方法一:构造总计行字典后合并(兼容新版pandas)
由于df.append()在pandas 2.0及以上版本已被弃用,推荐使用pd.concat()实现需求:
# 手动构造总计行的DataFrame total_row = pd.DataFrame({ 'Sec': ['TOTAL'], 'issues': [df['issues'].sum()], 'Gaps': [df['Gaps'].sum()] }) # 合并原数据与总计行 df_with_total = pd.concat([df, total_row], ignore_index=True)
方法二:用Series构造(适配旧版pandas)
若你仍在使用支持append()的旧版pandas,可通过指定索引的Series来添加总计行:
total_series = pd.Series( ['TOTAL', df['issues'].sum(), df['Gaps'].sum()], index=['Sec', 'issues', 'Gaps'] ) df_with_total = df.append(total_series, ignore_index=True)
最终效果
执行代码后得到的df_with_total如下:
| Sec | issues | Gaps |
|---|---|---|
| AAA | 22 | 5 |
| BBB | 33 | 2 |
| CCC | 44 | 1 |
| TOTAL | 99 | 8 |
内容的提问来源于stack exchange,提问作者user3044949
相关产品推荐
相关产品推荐

