📜  pandas 按月分组 - Python (1)

📅  最后修改于: 2023-12-03 15:18:14.976000             🧑  作者: Mango

Pandas 按月分组

在使用 Pandas 进行数据分析时,经常需要对数据按时间进行分组。本文将介绍如何使用 Pandas 按月分组。

准备工作

首先,需要确保已经安装了 Pandas 库。可以使用如下命令进行安装:

!pip install pandas

导入 Pandas 库:

import pandas as pd
构造数据

为了方便演示,我们构造了一个包含日期和销售量的数据集:

data = {'date': ['2020-01-01', '2020-01-05', '2020-02-01', '2020-02-05', '2020-03-01', '2020-03-05'],
        'sales': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)

运行后可以得到如下的 DataFrame:

| | date | sales | | --- | --- | --- | | 0 | 2020-01-01 | 10 | | 1 | 2020-01-05 | 20 | | 2 | 2020-02-01 | 30 | | 3 | 2020-02-05 | 40 | | 4 | 2020-03-01 | 50 | | 5 | 2020-03-05 | 60 |

按月分组

为了按月分组,我们需要先将“date”列转换为 Pandas 的日期格式,可以使用如下代码:

df['date'] = pd.to_datetime(df['date'])

接下来,我们可以按照“date”列的月份进行分组:

df_month = df.groupby(pd.Grouper(key='date', freq='M')).sum()

其中,pd.Grouper可以通过参数“freq”指定分组的时间粒度,这里我们选择按月分组。运行后,会得到如下的 DataFrame:

| date | sales | | --- | --- | | 2020-01-31 | 30 | | 2020-02-29 | 70 | | 2020-03-31 | 110 |

结论

通过上述代码,我们成功地将数据按照月份进行了分组,并计算了每个月的总销售量。Pandas 的分组功能为数据分析提供了非常方便的工具,而灵活的时间序列处理功能则可以让我们快速地完成各种数据分析任务。