Python 如何对每小时的时间序列重新采样,使其从特定的一小时开始,并在24小时后精确结束
我想从一天中的某个特定小时开始(在我的情况下,它将从2020-02-01 06 UTC开始),将包括每小时降水量值在内的数据帧重采样为每天(频率为24小时) 2020-02-01的小时数据帧图像: 我试过: df=df.resample('24H',on='date').sum() 但这导致了从2020-02-01 06 UTC到2020-02-01 23 UTC的每小时降水量之和,而不是从2020-02-02 05 UTC到2020-02-01 23 UTC的整整24小时 是否有可以用来解决此问题的参数?我尝试了origin='start',但结果是:Python 如何对每小时的时间序列重新采样,使其从特定的一小时开始,并在24小时后精确结束,python,pandas,dataframe,pandas-resample,Python,Pandas,Dataframe,Pandas Resample,我想从一天中的某个特定小时开始(在我的情况下,它将从2020-02-01 06 UTC开始),将包括每小时降水量值在内的数据帧重采样为每天(频率为24小时) 2020-02-01的小时数据帧图像: 我试过: df=df.resample('24H',on='date').sum() 但这导致了从2020-02-01 06 UTC到2020-02-01 23 UTC的每小时降水量之和,而不是从2020-02-02 05 UTC到2020-02-01 23 UTC的整整24小时 是否有可以用来解决
TypeError: resample() got an unexpected keyword argument 'origin'
任何指导都会有帮助,谢谢 您只需升级pandas即可使用origin参数: 升级熊猫
pip install --upgrade pandas
示例代码
import pandas as pd
d = {'c1': range(60)}
df = pd.DataFrame(d)
df['date'] = pd.date_range('2020-02-01 06:00:00',
periods=60,
freq='H')
print(df.resample('24H', on='date', origin='start').sum())
print('sum of 1st 24: ', sum(range(24)))
输出
date
2020-02-01 06:00:00 276
2020-02-02 06:00:00 852
2020-02-03 06:00:00 642
sum of 1st 24: 276
从熊猫1.1.0开始,重新取样的起源是新的。检查你的熊猫版本。