groupby是Pandas在数据分析中最常用的函数之一。它用于根据给定列中的不同值对数据点(即行)进行分组,分组后的数据可以计算生成组的聚合值。
如果我们有一个包含汽车品牌和价格信息的数据集,那么可以使用groupby功能来计算每个品牌的平均价格。
在本文中,我们将使用25个示例来详细介绍groupby函数的用法。这25个示例中还包含了一些不太常用但在各种任务中都能派上用场的操作。
这里使用的数据集是随机生成的,我们把它当作一个销售的数据集。
import pandas as pd
sales = pd.read_csv("sales_data.csv")
sales.head()
1、单列聚合
我们可以计算出每个店铺的平均库存数量如下:
sales.groupby("store")["stock_qty"].mean()
#输出
store
Daisy 1811.861702
Rose 1677.680000
Violet 14622.406061
Name: stock_qty, dtype: float64
2、多列聚合
在一个操作中进行多个聚合。以下是我们如何计算每个商店的平均库存数量和价格。
sales.groupby("store")[["stock_qty","price"]].mean()
3、多列多个聚合
我们还可以使用agg函数来计算多个聚合值。
sales.groupby("store")["stock_qty"].agg(["mean", "max"])
4、对聚合结果进行命名
在前面的两个示例中,聚合列表示什么还不清楚。例如,“mean”并没有告诉我们它是什么的均值。在这种情况下,我们可以对聚合的结果进行命名。
sales.groupby("store").agg(
avg_stock_qty = ("stock_qty", "mean"),
max_stock_qty = ("stock_qty", "max")
)
要聚合的列和函数名需要写在元组中。
5、多个聚合和多个函数
sales.groupby("store")[["stock_qty","price"]].agg(["mean", "max"])
sales.groupby("store").agg(
avg_stock_qty = ("stock_qty", &#