切片时间序列

时间:2017-06-15 08:13:33

标签: python pandas datetime time-series

我们说我有一个时间序列" TS"在几个月的范围内。 如何从TS中获取子时间序列,例如一天的范围。

我试过这段代码:

subts = pd.Series(TS,index=pd.to_datetime(['2015-09-26','2015-09-27']))

但是我收到了这个错误:

ValueError: Wrong number of items passed 472, placement implies 2

我所理解的是,我选择的方法匹配TS中的每个值(472个)和我在构造函数中给出的时间范围(即:[' 2015-09-26',' 2015年9月27日'])

有没有办法真正切片时间序列?只需在给定的时间范围内提取部分内容吗?

1 个答案:

答案 0 :(得分:0)

我认为您可以使用[]进行选择,另请参阅indexing

subts = TS['2015-09-26':'2015-09-27']

或者:

subts = TS.loc['2015-09-26':'2015-09-27']

样品:

np.random.seed(123)
TS = pd.Series(np.random.randint(10, size=10), pd.date_range('2015-09-24', periods=10))
print (TS)
2015-09-24    2
2015-09-25    2
2015-09-26    6
2015-09-27    1
2015-09-28    3
2015-09-29    9
2015-09-30    6
2015-10-01    1
2015-10-02    0
2015-10-03    1
Freq: D, dtype: int32

subts = TS['2015-09-26':'2015-09-27']
print (subts)
2015-09-26    6
2015-09-27    1
Freq: D, dtype: int32