天天看点

pandas中如何巧妙的查看groupby()的结果

最近在处理数据时经常遇到需要使用DataFrame中的一个方法groupby()来将数据分组。但是分组的结果往往是个DataFrameGroupBy or SeriesGroupBy类型(源码中可见)。

令人抓狂的是不管是什么数据结构,当我们将其打印的时候往往长这样:<pandas.core.groupby.generic.SeriesGroupBy object at 0x00000177E3D33588>。

我目前发现了两种方法:

第一个是迭代,但是当数据量很大时,还是慎重。

第二种是按列取,例如:

data.groupby([‘Property’, ‘Sex’])[‘Age’]。

还有一个惊喜是,这种数据结构可以方便的使用小组内的数据特征填补缺失值或者做其它操作。比如:

data.groupby([‘Property’, ‘Sex’])[‘Age’].apply(lambda x: x.fillna(x.median()).