熊猫时间序列选择单个日期

时间:2018-06-21 18:38:55

标签: python-3.x pandas time-series

从时间表中选择一个日期会出现KeyError。

设置:

import pandas as pd
import numpy as np
ts = pd.DataFrame({'date': pd.date_range(start = '1/1/2017', periods = 5),
                   'observations': np.random.choice(range(0, 100), 5, replace = True)}).set_index('date')

数据框:

           observations
date                    
2017-01-01            58
2017-01-02            88
2017-01-03            53
2017-01-04             4
2017-01-05            26

如何选择单个日期的观察次数?

ts['2017-01-01']

返回:KeyError:'2017-01-01'

但是...

ts['2017-01-01':'2017-01-01']

...似乎工作正常。

有没有建议如何选择/设置单个日期?

1 个答案:

答案 0 :(得分:1)

正如 @scnerd 所指出的那样,当您执行ts['2017-01-01']时,它会尝试查找'2017-01-01'作为数据框ts的列名,这将给出您一个KeyError,因为ts中的所有列都没有这个名称

要查找索引的名称(例如在示例中将“ date”设置为索引),您需要使用ts.loc['2017-01-01']之类的loc方法,您将获得:

observations    54
Name: 2017-01-01 00:00:00, dtype: int32