如何對 Pandas 中的多重索引進行 groupby?


多重索引資料幀是具有多個索引的資料幀。假設以下內容是儲存在桌面的 csv 檔案 −

首先,匯入 pandas 庫並讀取上述 CSV 檔案 −

import pandas as pd

df = pd.read_csv("C:/Users/amit_/Desktop/sales.csv") print(df)

我們將把資料幀的“Car”(汽車)和“Place”(地區)列作為索引 −

df = df.set_index(['Car', 'Place'])

資料幀現在是一個多重索引資料幀,其中“Car”(汽車)和“Place”(地區)列作為索引。

現在,讓我們對多重索引資料幀使用 groupby

res = df.groupby(level=['Car'])['UnitsSold'].mean() print(res)

示例

以下是程式碼 −

import pandas as pd

df = pd.read_csv("C:/Users/amit_/Desktop/sales.csv")
print(df)

# set Car and Place columns of the DataFrame as index
df = df.set_index(['Car', 'Place'])

# sorting
df.sort_index()

# groupby on multiindex datafram
res = df.groupby(level=['Car'])['UnitsSold'].mean()
print(res)

輸出

這將產生以下輸出 −

          Car         Place       Sold
0         BMW         Delhi         95
1    Mercedes     Hyderabad         80
2  Lamborgini    Chandigarh         80
3        Audi     Bangalore         75
4    Mercedes     Hyderabad         90
5     Porsche        Mumbai         90
6  RollsRoyce        Mumbai         95
7         BMW         Delhi         50
Car
Audi       75.8
BMW        72.5
Lamborgini 80.0
Mercedes   85.0
Porsche    90.0
RollsRoyce 95.0
Name: UnitsSold, dtype: float64

更新日期: 09-Sep-2021

291 次瀏覽

開啟你的職業 生涯

完成課程獲得認證

開始
廣告