如何对 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
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP