python:pandas.DataFrame,如何避免keyerror?

时间:2018-05-16 06:09:50

标签: python pandas dataframe keyerror

C++中,当我无法在表中找到关键字时,它将返回NULL,或者在数据库中它将返回一个空表,因此程序继续运行。但在python中,它会抛出exception,并中断我的程序。我可以避免吗? 例如,我有一个名为datevar的数据框:

(datetimeIndex)   value
2001-01-01           1
2001-01-02           1
2001-01-03           3
....

v = datevar.xs('2000-01-01', level='date') # of course "keyError"
v = datevar.loc['2000-01-01' , :]          # of course "keyError"

1 个答案:

答案 0 :(得分:1)

我认为你可以检查df的索引或列中是否存在索引 在获得该密钥的值之前。

df = pd.read_clipboard()
df
Out[6]: 
  (datetimeIndex)  value
0      2001-01-01      1
1      2001-01-02      1
2      2001-01-03      3
key = "2000-01-01"
if key in df.index:
    v = df.xs('2000-01-01', level='date')  # of course "keyError"
    v = df.loc['2000-01-01', :]  # of course "keyError"
else:
    v = None
v