首頁 > 後端開發 > Python教學 > 如何將 Pandas GroupBy MultiIndex 系列轉換為 DataFrame?

如何將 Pandas GroupBy MultiIndex 系列轉換為 DataFrame?

Mary-Kate Olsen
發布: 2024-12-09 06:23:05
原創
487 人瀏覽過

How to Convert a Pandas GroupBy MultiIndex Series to a DataFrame?

將 Pandas GroupBy Multiindex 輸出從 Series 轉換為 DataFrame

使用 GroupBy 按多列對 DataFrame 進行分組時,結果通常是 MultiIndex Series。但是,在某些情況下,您可能需要以 DataFrame 格式傳回資料。本文示範如何將 GroupBy 的 MultiIndex Series 輸出轉換回 DataFrame。

考慮以下範例DataFrame:

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

將GroupBy 與多個欄位一起使用,我們可以計算出現次數:

g1 = df1.groupby(["Name", "City"]).count()
登入後複製

但是,g1 的輸出是一個MultiIndex系列:

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

要將其轉換回DataFrame,您可以利用兩種方法:

方法1:新增後綴和重設索引

為列名加上後綴並重設索引:

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

這會建立一個包含三列的DataFrame:Name、City 和另外兩列,後綴為_Count 來表示計數。

方法2:使用DataFrame 建構子

或者,您可以使用DataFrame 建構子和.size() 方法來計算出現次數並重設index:

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

此方法將建立一個包含兩列的DataFrame:名稱、城市和表示計數的附加列計數。

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

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