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

为何使用Pandas groupby处理Courses列时返回对象地址而非数据?

为什么Pandas groupby返回对象地址而非分组数据?

你看到的<pandas.core.groupby.generic.DataFrameGroupBy object at ...>是正常现象——Pandas的groupby方法本身不会直接生成分组后的数据集,它返回的是一个DataFrameGroupBy对象,这个对象只是存储了分组规则和对原DataFrame的引用,并没有立即执行分组后的计算或数据提取操作。

要得到你预期的分组数据,需要对这个分组对象执行后续操作,以下是几种常用方法:

1. 遍历分组查看每个组的内容

用for循环遍历分组对象,每次迭代会得到组名和对应的组DataFrame:

for course_name, group_df in df2:
    print(f"组名: {course_name}")
    print(group_df)
    print("---")

2. 转换为列表查看所有组

把分组对象转成列表,会得到每个组的(组名, 组DataFrame)元组:

group_list = list(df2)
print(group_list)

3. 执行聚合操作得到汇总结果

如果需要分组后的统计数据,可以调用聚合函数(如sum()、mean()、count()):

# 计算每个课程的费用总和
fee_sum = df2['Fee'].sum()
print(fee_sum)

# 自定义聚合,同时计算费用均值和折扣总和
agg_result = df2.agg({'Fee': 'mean', 'Discount': 'sum'})
print(agg_result)

4. 提取单个组的数据

用get_group()方法直接取出指定组的所有行:

# 获取Spark课程的分组数据
spark_group = df2.get_group('Spark')
print(spark_group)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 23:45:40