【发布时间】:2022-01-20 05:37:50
【问题描述】:
我发现任何数据帧都可以使用df[columns].resample('Y').mean() 重新采样。但我想定制,以便每年重新采样,但只发生在定制的月份。例如,每年的 4 月到 10 月。使用熊猫可以做到这一点吗?我查看了官方文档here,但找不到解决方案。有没有人能说明一下?
【问题讨论】:
标签: python pandas resampling
我发现任何数据帧都可以使用df[columns].resample('Y').mean() 重新采样。但我想定制,以便每年重新采样,但只发生在定制的月份。例如,每年的 4 月到 10 月。使用熊猫可以做到这一点吗?我查看了官方文档here,但找不到解决方案。有没有人能说明一下?
【问题讨论】:
标签: python pandas resampling
我找不到任何直接的 pandas 操作。但过滤确实解决了它。
首先创建另一个只有所需月份的数据集:
resampled_data = resampled_data[df['date].month <= 9]
(这里是 9 月 9 日)
' 现在执行重采样
resampled_data = resampled_data.resample("Y").mean()
但“日期”将更改为一年的结束日期。 因此,将索引更改为可用数据的月份。
resampled_data['date']= resampled_data['date'] - pd.DateOffset(month=3)
在第一步的过滤过程中,我们还可以根据需要通过丢弃开始月份来进行过滤。例如,
resampled_data = resampled_data[df['date].month >= 3]
(这里的 3 表示三月)
【讨论】: