pandas groupby 和群組內排序
想要對 groupby 聚合的結果進行排序是一項常見任務。在這個範例中,我們有一個包含兩個欄位「job」和「source」以及一個「count」欄位的 DataFrame,我們要對其進行分組和排序。
為此,我們可以使用 groupby () 方法以「作業」和「來源」欄位對 DataFrame 進行分組。然後,我們可以使用 agg() 方法來聚合「count」列,在本例中使用 sum 函數。
In [168]: df.groupby(['job','source']).agg({'count':sum}) Out[168]: count job source market A 5 B 3 C 2 D 4 E 1 sales A 2 B 4 C 6 D 3 E 7
這將為我們提供一個包含分組結果的新 DataFrame。然後,我們可以使用 sort_values() 方法對每個群組中的「count」欄位進行降序排序。
In [34]: df.sort_values(['job','count'],ascending=False).groupby('job').head(3) Out[35]: count job source 4 7 sales E 2 6 sales C 1 4 sales B 5 5 market A 8 4 market D 6 3 market B
這將為我們提供一個新的 DataFrame,其中包含每個組的前 3 個結果。
以上是如何在 Pandas 中使用 GroupBy 和聚合對群組內的結果進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!