Python 大熊猫全天重复采样
我有一些数据如下:Python 大熊猫全天重复采样,python,pandas,Python,Pandas,我有一些数据如下: 2013-10-01 11:11:22, 12 2013-10-01 11:15:22, 12 2013-10-01 15:11:22, 12 2013-10-01 16:11:22, 12 2013-10-01 16:45:22, 12 2013-10-01 11:00:00, 2 2013-10-01 12:00:00, 0 2013-10-01 13:00:00, 0 2013-10-01 14:00:00, 0 2013-10-01 15:00:00, 1 2013
2013-10-01 11:11:22, 12
2013-10-01 11:15:22, 12
2013-10-01 15:11:22, 12
2013-10-01 16:11:22, 12
2013-10-01 16:45:22, 12
2013-10-01 11:00:00, 2
2013-10-01 12:00:00, 0
2013-10-01 13:00:00, 0
2013-10-01 14:00:00, 0
2013-10-01 15:00:00, 1
2013-10-01 16:00:00, 2
我使用下面的代码重新采样数据:
df.resample('1H', how=lambda x: len(x))
结果如下:
2013-10-01 11:11:22, 12
2013-10-01 11:15:22, 12
2013-10-01 15:11:22, 12
2013-10-01 16:11:22, 12
2013-10-01 16:45:22, 12
2013-10-01 11:00:00, 2
2013-10-01 12:00:00, 0
2013-10-01 13:00:00, 0
2013-10-01 14:00:00, 0
2013-10-01 15:00:00, 1
2013-10-01 16:00:00, 2
但是我想要从00:00:00到23:00:00的全天范围,如何更改重采样日期范围?您应该首先使用
from datetime import datetime
将日期转换为datetime格式,然后使用pd.Series(datetime.strtime…
)。检查后,您可以更轻松地操作数据。好吧,您可以在重新采样后使用全天的小时周期索引重新编制索引。因此,类似于以下内容:
>>> rng = pd.period_range('2013-10-01',periods=24, freq='H').to_timestamp()
>>> df.resample('1H', how=lambda x: len(x)).reindex(index=rng,fill_value=0)
value
2013-10-01 00:00:00 0
2013-10-01 01:00:00 0
2013-10-01 02:00:00 0
2013-10-01 03:00:00 0
2013-10-01 04:00:00 0
2013-10-01 05:00:00 0
2013-10-01 06:00:00 0
2013-10-01 07:00:00 0
2013-10-01 08:00:00 0
2013-10-01 09:00:00 0
2013-10-01 10:00:00 0
2013-10-01 11:00:00 2
2013-10-01 12:00:00 0
2013-10-01 13:00:00 0
2013-10-01 14:00:00 0
2013-10-01 15:00:00 1
2013-10-01 16:00:00 2
2013-10-01 17:00:00 0
2013-10-01 18:00:00 0
2013-10-01 19:00:00 0
2013-10-01 20:00:00 0
2013-10-01 21:00:00 0
2013-10-01 22:00:00 0
2013-10-01 23:00:00 0
这是DateTime,否则我无法重新采样。