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

如何使用tabulate打印pandas分组统计DataFrame且不显示索引

问题修复方案

错误原因

你原有代码存在两处核心问题,是导致输出列附带索引的根源:

  • 第一行分组代码存在语法错误,df.groupby('Country'['downloads']) 漏掉了groupby方法的闭合括号,无法正常执行
  • 无需拆分两次分组再手动拼接表格,你构造total_per_country时给每个列值套了一层[],等于把整个Series序列塞到了单个单元格中,打印时会自带Series的索引信息

正确实现代码

单次分组即可同时对多列做聚合计算,无需额外拼接:

import pandas as pd
from tabulate import tabulate

# 读取原始xlsx数据
df = pd.read_excel(xls)
# 按国家分组,直接对下载量、成本两列求和,as_index=False可以避免国家列变成索引
total_per_country = df.groupby('country', as_index=False)[['downloads', 'cost']].sum()
# 打印格式化表格,headers='keys'直接复用DataFrame的列名,无需手动传入
print(tabulate(total_per_country, headers='keys', tablefmt='psql', showindex=False))

注意:请保证groupby里的列名和你原始xlsx的列名大小写完全匹配,避免出现匹配不到列的问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:54:06