Bootstrap

Pandas查看groupby后结果的三种方式:循环打印、.groups和.get_group

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()一次只能查看一组数据。)

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;