python: pandas.DataFrame , как избежать keyerror? - PullRequest
0 голосов
/ 16 мая 2018

В C++, когда я не могу найти ключевое слово в таблице, он возвращает NULL или в базе данных возвращает пустую таблицу, поэтому программа продолжает работать.Но в python он выдает exception и прерывает мою программу.Могу ли я избежать этого?например, у меня есть такой DataFrame с именем 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 голосов
/ 16 мая 2018

Я думаю, вы можете проверить, существует ли индекс в индексе 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
...