Pandas之groupby()用法笔记小结
什么是groupby()
Pandas中的groupby()函数是一个强大的工具,用于对数据集进行分组、分析和聚合。该函数将数据集划分成多个组,对每个组应用函数,并组合结果。
groupby()用法
groupby()函数可以接受以下参数:
dataframe.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, observed=False, dropna=True)
其中,最常用的是by
参数,用于指定分组的列或列名。
下面是一个实例:
import pandas as pd
df = pd.read_csv('sales.csv')
df.groupby('region').sum()
该代码块按照销售数据中的region
列进行分组,并返回每个分组的总销售量。
groupby()的常用聚合函数
groupby()函数可以与许多聚合函数一起使用。下面是groupby()函数的一些常见聚合函数:
sum()
df.groupby('region').sum()
该代码块将数据集按照region
列进行分组,并求出每个分组的总计销售额。
count()
df.groupby('region').count()
该代码块将数据集按照region
列进行分组,并计算每个分组中有多少行数据。
mean()
df.groupby('region').mean()
该代码块将数据集按照region
列进行分组,并计算每个分组的平均销售额。
max()
df.groupby('region').max()
该代码块将数据集按照region
列进行分组,并计算每个分组的最大销售额。
min()
df.groupby('region').min()
该代码块将数据集按照region
列进行分组,并计算每个分组的最小销售额。
示例
假设有以下销售数据:
region year sales
0 APAC 2019 100
1 EMEA 2019 50
2 APAC 2020 200
3 EMEA 2020 150
下面是一个使用groupby()函数求得按照年份分组后的销售总额的代码:
import pandas as pd
df = pd.read_csv('sales.csv')
df.groupby('year')['sales'].sum()
该代码块按照销售数据中的year
列进行分组,并返回每个年份的总销售额。
输出结果如下:
year
2019 150
2020 350
下面是另一个示例:按照地区分组,并计算每个地区每年的平均销售额。
import pandas as pd
df = pd.read_csv('sales.csv')
df.groupby(['region', 'year'])['sales'].mean()
该代码块将销售数据按照地区和年份进行分组,并返回每个地区和年份的平均销售额。
输出结果如下:
region year
APAC 2019 100.0
2020 200.0
EMEA 2019 50.0
2020 150.0