使用Pandas的groupby方法为何未得到预期的表格输出?
解决Pandas groupby返回对象而非表格的问题
你直接打印groupby()的结果得到对象信息是正常的——groupby()本身只是创建了一个分组规则对象,并没有生成最终的结果表格。要得到表格形式的输出,需要对这个分组对象执行后续操作,以下是几种常用方式:
1. 查看单个或所有分组的原始数据
- 获取指定分组的完整DataFrame:
# 替换为你实际存在的img_name值 specific_group = p.get_group('test_image.png') print(specific_group)
- 查看所有分组的内容(返回元组列表,每个元组是(分组名, 对应DataFrame)):
print(list(p))
2. 执行聚合操作生成统计表格
针对分组后的列做统计计算,比如计数、求和、均值等:
# 统计每个img_name对应的条目数量 count_result = p['img_name'].count() print(count_result) # 多列多聚合操作,示例:对width列求均值,height列求和 agg_result = p.agg({'width': 'mean', 'height': 'sum'}) print(agg_result)
3. 输出分组后的完整结构化数据
如果需要保留原数据的结构并按分组展示:
# 输出每个分组的完整数据 print(p.apply(lambda x: x)) # 查看每个分组的统计描述信息(如均值、中位数等) print(p.describe())
内容的提问来源于stack exchange,提问作者Rathan Ganta
相关产品推荐
相关产品推荐

