最近在處理資料時經常遇到需要使用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()).