要按年月对Pandas数据帧进行分组,可以使用pd.Grouper
函数和groupby
方法。下面是一个示例代码:
import pandas as pd
# 创建示例数据帧
data = {'date': ['2021-01-01', '2021-01-02', '2021-02-01', '2021-02-02', '2021-03-01', '2021-03-02'],
'value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 将'date'列转换为日期时间类型
df['date'] = pd.to_datetime(df['date'])
# 使用pd.Grouper按年月进行分组
grouped = df.groupby(pd.Grouper(key='date', freq='M'))
# 计算每个分组的平均值
result = grouped.mean()
print(result)
输出结果为:
value
date
2021-01-31 1.5
2021-02-28 3.5
2021-03-31 5.5
在示例代码中,首先创建了一个包含日期和值的示例数据帧。然后,将'date'列转换为日期时间类型,以便可以按日期进行分组。使用pd.Grouper
函数,指定key='date'
来指定要按照哪一列进行分组,freq='M'
表示按月进行分组。然后,使用groupby
方法按照指定的分组进行分组,并使用mean
方法计算每个分组的平均值。最后,输出结果。