【发布时间】:2021-10-12 14:50:38
【问题描述】:
我使用它找到列的第一个非值并且它工作正常
first_non = df['kst'].loc[df['kst'].first_valid_index()]
print(first_non)
当列中存在非空值时,此方法有效。但是,如果该列中不存在非空值,则会引发错误KeyError: None.
如何在 if else 语句中使用它?因此,如果存在非空值,我想打印它。如果没有,我想打印其他内容:
df = pd.read_excel('./test2.xlsx')
if (df['kst'].loc[df['kst'].first_valid_index()]):
print (df['kst'].loc[df['kst'].first_valid_index()])
else:
print('d')
目前,这会引发错误:
-->if (df['kst'].loc[df['kst'].first_valid_index()]):
...
KeyError: None
【问题讨论】:
-
你能抓住 KeyError 吗?
-
if df['kst'].first_valid_index() is None:
标签: python pandas dataframe numpy keyerror