如何在 Pandas 中使用多级索引进行分组?
多级索引数据框是具有多个索引的数据框。假设以下是我们存储在桌面上的 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)
更多Pandas相关文章,请阅读:Pandas 教程
例子
以下是代码 −
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
极客教程