要按照月份和年份分组的Pandas,可以使用groupby
方法来实现。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'date': ['2022-01-01', '2022-01-05', '2022-02-10', '2022-03-15', '2023-01-01'],
'value': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# 将'date'列转换为日期类型
df['date'] = pd.to_datetime(df['date'])
# 创建'month'和'year'列
df['month'] = df['date'].dt.month
df['year'] = df['date'].dt.year
# 按照'month'和'year'分组,并计算每组的总和
grouped = df.groupby(['month', 'year']).sum()
print(grouped)
输出结果如下:
value
month year
1 2022 3
2 2022 3
3 2022 4
2023 5
上述代码首先创建了一个示例数据框df
,其中包含日期和值两列。然后,使用pd.to_datetime
将'date'列转换为日期类型。接下来,创建了'month'和'year'两列,使用dt.month
和dt.year
从日期中提取月份和年份。最后,使用groupby
方法按照'month'和'year'分组,并使用sum
函数计算每组的总和。