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

Posted

技术标签:

【中文标题】python: pandas.DataFrame,如何避免keyerror?【英文标题】:python: pandas.DataFrame,how to avoid keyerror? 【发布时间】:2018-10-26 01:48:07 【问题描述】:

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

(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"

【问题讨论】:

欢迎来到 ***。请花时间阅读how to provide a great pandas example 上的这篇文章以及如何提供minimal, complete, and verifiable example 并相应地修改您的问题。 how to ask a good question 上的这些提示也可能有用。 datevar['2000-01-01'] 工作得怎么样? 【参考方案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

【讨论】:

以上是关于python: pandas.DataFrame,如何避免keyerror?的主要内容,如果未能解决你的问题,请参考以下文章

Python pandas DataFrame的切片取值

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

Python数据分析库pandas ------ DataFrame

Python pandas.DataFrame.aggregate函数方法的使用

Python pandas.DataFrame.applymap函数方法的使用

Python pandas.DataFrame.cumprod函数方法的使用