pandas对一个DataFrame经过groupby分组之后得到的返回值不是DataFrame类型,因此无法直接查看。输出如下:
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x00000190B96CBDF0>
除了直接运用各种聚合操作读取各分组的统计信息外,我们有三种方法可以查看分组后的具体结果:
1. 通过循环遍历打印:
假设原数据 df 如下所示:
则按Gender分组后遍历打印遍历如下:
for i in df.groupby('Gender'):
print(i)
可以得到如下内容:
可以看出返回的内容是由若干个二元组构成的,元组第一位是分组名,第二位是组内成员构成的DataFrame。而元组之间并不是由python通常的元组、列表或字典连接的,这也是groupby的返回类型难以直接查看的原因。
2. 用df.groups查看分组情况
df.groupby('Gender').groups
得到的结果如下:
表示F分组中是原表中第2,4行数据,M分组中是原表中第1,3,5,6行数据。
3. 用df.get_group()查看每组内容
df.groupby('Gender').get_group('F')
得到的结果如下:
(注意:.get_group()一次只能查看一组数据。)