如何對 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
廣告