Pandas之groupby( )用法笔记小结

  • Post category:Python

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