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

如何在Pandas分组DataFrame添加总计行时跳过第一列?

解决方法

你可以通过仅针对byCountry列赋值总计值,并手动设置Country列的总计行为空(或自定义文本)来实现需求,原代码的问题是把总和值广播到了整行,导致Country列也被填充了数值。

修改后的完整代码

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('manufacturers.csv')
# 分组统计国家数量
gkk = df.groupby(['Country'])['Country'].count().reset_index(name='byCountry')

# 添加总计行:仅给byCountry列赋值总和,Country列设为空字符串
total_row = pd.DataFrame({
    'Country': [''],  # 这里可以改成'总计'之类的自定义文本
    'byCountry': [gkk['byCountry'].sum()]
}, index=['Total by Country'])

# 合并原数据和总计行
gkk = pd.concat([gkk, total_row])

print(gkk)

另一种更简洁的写法(直接用loc赋值)

如果你不想额外创建DataFrame,也可以直接通过loc指定列赋值:

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('manufacturers.csv')
gkk = df.groupby(['Country'])['Country'].count().reset_index(name='byCountry')

# 设置总计行的byCountry值
gkk.loc['Total by Country', 'byCountry'] = gkk['byCountry'].sum()
# 将Country列的总计行设为空
gkk.loc['Total by Country', 'Country'] = ''

print(gkk)

这样输出时,Country列的总计行是空的,只有byCountry列显示所有国家的总数,符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:52:06