我有一个与以下类似布局的DataFrame:
In [24]: example_df
Out[24]:
Price
DateTime
2012-09-11 19:44:00 99.622
2012-09-11 19:45:00 99.312
2012-09-11 19:46:00 99.211
2012-09-11 19:47:00 99.757
2012-09-11 19:48:00 99.312
2012-09-11 19:49:00 99.157
2012-09-11 19:50:00 99.751
...
DataFrame有一个日期时间索引。
这个DataFrame跨越了多年的分钟,我如何将数据切片仅包含时间序列中每天的特定时间段?对于DataFrame中的每一天,请说12:00-13:00?
答案 0 :(得分:2)
您可以使用indexer_between_time()
捕获位于给定时间间隔内的索引,然后使用iloc
来切割DataFrame。例如:
>>> df.iloc[df.index.indexer_between_time('19:45:00', '19:49:00')]
Price
2012-09-11 19:45:00 99.312
2012-09-11 19:46:00 99.211
2012-09-11 19:47:00 99.757
2012-09-11 19:48:00 99.312
2012-09-11 19:49:00 99.157
对于您每天在12:00至13:00之间输入的特定要求,您可以使用以下方式获取行:
df.iloc[df.index.indexer_between_time('12:00:00', '13:00:00')]