以下是一个示例代码,可以按年份分组并找出每个月的最大值和最小值:
import pandas as pd
# 创建一个示例数据集
data = {'date': ['2020-01-01', '2020-01-02', '2020-02-01', '2020-02-02', '2021-01-01', '2021-01-02', '2021-02-01', '2021-02-02'],
'value': [10, 15, 20, 25, 30, 35, 40, 45]}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['date'] = pd.to_datetime(df['date'])
# 按年份和月份分组,并计算每个月的最大值和最小值
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
result = df.groupby(['year', 'month'])['value'].agg(['min', 'max'])
print(result)
输出结果为:
min max
year month
2020 1 10 15
2 20 25
2021 1 30 35
2 40 45
上述代码首先将日期列转换为日期类型,然后通过dt.year
和dt.month
获取年份和月份。接着使用groupby
函数按年份和月份进行分组,并使用agg
函数计算每个月的最大值和最小值。最后,打印出结果。
上一篇:按年份对SQL查询结果进行分组
下一篇:按年份分组的案例百分比