pandas timeseries between_datetime函数?

时间:2013-06-09 16:52:30

标签: python pandas time-series

我一直在pandas中使用TimeSeries的between_time方法,它返回指定时间之间的所有值,无论它们的日期如何。

但是我需要选择两个日期和时间,因为我的时间序列结构 包含多个日期。

解决这个问题的一种方法虽然相当不灵活,但只是迭代这些值并删除那些不相关的值。

有更优雅的方式吗?

1 个答案:

答案 0 :(得分:5)

您可以先选择感兴趣的日期,然后使用between_time。例如,假设您有72小时的时间序列:

import pandas as pd
from numpy.random import randn

rng = pd.date_range('1/1/2013', periods=72, freq='H')
ts = pd.Series(randn(len(rng)), index=rng)

选择20:00和20:00之间1月2日和3日22:00你可以做到:

ts['2013-01-02':'2013-01-03'].between_time('20:00', '22:00')

给你这样的东西:

2013-01-02 20:00:00    0.144399
2013-01-02 21:00:00    0.886806
2013-01-02 22:00:00    0.126844
2013-01-03 20:00:00   -0.464741
2013-01-03 21:00:00    1.856746
2013-01-03 22:00:00   -0.286726