我想在某个小时开始每天(恰好24小时)频繁重新采样TimeSeries.
喜欢:
index = date_range(datetime(2012,1,1,17), freq='H', periods=60)
ts = Series(data=[1]*60, index=index)
ts.resample(rule='D', how='sum', closed='left', label='left')
Run Code Online (Sandbox Code Playgroud)
结果我得到:
2012-01-01 7
2012-01-02 24
2012-01-03 24
2012-01-04 5
Freq: D
Run Code Online (Sandbox Code Playgroud)
结果我希望:
2012-01-01 17:00:00 24
2012-01-02 17:00:00 24
2012-01-03 17:00:00 12
Freq: D
Run Code Online (Sandbox Code Playgroud)
几个星期前,你可以传递'24H'到freq参数,它的工作完全罚款.但现在它结合起来'24H'了'1D'.
我使用的'24H'是现在修复的错误吗?我怎样才能以高效和pythonic(或熊猫)的方式获得希望的结果呢?
版本:
And*_*den 24
Resample有一个base论据涵盖了这种情况:
ts.resample(rule='24H', closed='left', label='left', base=17).sum()
Run Code Online (Sandbox Code Playgroud)
输出:
2012-01-01 17:00:00 24
2012-01-02 17:00:00 24
2012-01-03 17:00:00 12
Freq: 24H
Run Code Online (Sandbox Code Playgroud)
2021 更新:base自版本 1.1.0 起已弃用:您应该使用的新参数是 \xe2\x80\x98offset\xe2\x80\x99 或 \xe2\x80\x98origin\xe2\x80\x99。
df.resample(\'24H\',\n origin=datetime(2012,1,1,17) # <-- ADD THIS\n).sum() \nRun Code Online (Sandbox Code Playgroud)\n1.1.0版本新增
\norigin {\xe2\x80\x98epoch\xe2\x80\x99, \xe2\x80\x98start\xe2\x80\x99, \xe2\x80\x98start_day\xe2\x80\x99},时间戳或 str,默认 \xe2\ x80\x98start_day\xe2\x80\x99\n调整分组的时间戳。来源时区必须与索引时区匹配。如果不使用时间戳,则还支持这些值:
\n| 归档时间: |
|
| 查看次数: |
14491 次 |
| 最近记录: |