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 的整整 24 小时。
有没有可以用来解决这个问题的论据?我尝试了 origin = 'start',但结果是:
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
推荐阅读
- angular - 使用角度将隐藏参数传递给外部链接
- python - tkinter 中的新窗口标题
- google-cloud-platform - Stackdriver 日志不显示在控制台上
- python - 将字段名设置为 Python 中 Dictreader 的第一行以外的行
- python - 在 matplotlib 图例中操作线型
- javascript - 在 Angular 中动态注入组件
- graph-theory - 将无向图的边显示为有序对是否错误?
- angularjs - 自定义错误消息未显示
- c - 为什么这个删除所有评论的程序不起作用?
- typescript - 如何强制方法参数值成为接口的元素