从时间表中选择一个日期会出现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']
...似乎工作正常。
有没有建议如何选择/设置单个日期?
答案 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