Python 对时间序列进行切片
假设我有一个月范围的时间序列“TS”。 如何从TS获取子时间序列,例如一天的范围 我尝试了以下代码:Python 对时间序列进行切片,python,pandas,datetime,time-series,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(472rows)中的每个值,以及我在构造函数中给出的时间范围
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(472rows)中的每个值,以及我在构造函数中给出的时间范围(即:['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
我认为您可以使用选择方式
[]
,另请参见:
或:
样本:
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
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