如何將 Pandas GroupBy 多索引系列輸出轉換回 DataFrame?

Patricia Arquette
發布: 2024-11-24 08:50:14
原創
230 人瀏覽過

How to Convert a Pandas GroupBy Multi-Index Series Output Back into a DataFrame?

從Pandas GroupBy MultiIndex 系列輸出中檢索行

給定一個具有多索引的DataFrame,您可以執行GroupBy 操作來計數或計數匯總值。但是,產生的輸出是具有分層索引的系列,因此很難查看原始行。本文介紹如何將此輸出轉換回包含原始行的 DataFrame。

問題:

如何轉換 Pandas GroupBy 多索引 Series 輸出,如:

                  City  Name
Name    City
Alice   Seattle      1     1
Bob     Seattle      2     2
Mallory Portland     2     2
        Seattle      1     1
登入後複製

進入另一個保留所有原始資料的DataFrame rows?

答案:

將 Series 轉換回 DataFrame 的關鍵是處理分層索引。這裡有兩種方法:

1。使用add_suffix和reset_index

g1.add_suffix('_Count').reset_index()
登入後複製

此方法向列名新增後綴並重設分層索引以建立具有平面索引的新DataFrame。

輸出:

      Name      City  City_Count  Name_Count
0    Alice   Seattle           1           1
1      Bob   Seattle           2           2
2  Mallory  Portland           2           2
3  Mallory   Seattle           1           1
登入後複製

2.使用DataFrame 和reset_index

DataFrame({'count' : df1.groupby( [ "Name", "City"] ).size()}).reset_index()
登入後複製

此方法根據分組建立大小一個新的DataFrame,並重設分層索引以獲得平面DataFrame。

輸出:

      Name      City  count
0    Alice   Seattle      1
1      Bob   Seattle      2
2  Mallory  Portland      2
3  Mallory   Seattle      1
登入後複製

這些方法可讓您從 GroupBy 多索引系列中提取行輸出並重建包含所有原始資料的 DataFrame。

以上是如何將 Pandas GroupBy 多索引系列輸出轉換回 DataFrame?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板