如果没有找到 null 值,则打印一个字符串
print a string if no null value is found
我使用它找到了列的第一个非值并且它工作正常
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
标准方式是 try/catch
正如 Kenny 评论的那样:
try:
print(df['kst'].loc[df['kst'].first_valid_index()])
except:
print("no nan values")
如果您坚持if/else
,请先检查有效索引:
valid_idx = df['kst'].first_valid_index()
print(df.loc[valid_idx, 'kst'] if valid_idx is not None else "no nan values")
您可以试试这个作为替代方案。
df = pd.read_excel('./test2.xlsx')
try:
print (df['kst'].loc[df['kst'].first_valid_index()])
except:
print('No value is found')
我使用它找到了列的第一个非值并且它工作正常
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
标准方式是 try/catch
正如 Kenny 评论的那样:
try:
print(df['kst'].loc[df['kst'].first_valid_index()])
except:
print("no nan values")
如果您坚持if/else
,请先检查有效索引:
valid_idx = df['kst'].first_valid_index()
print(df.loc[valid_idx, 'kst'] if valid_idx is not None else "no nan values")
您可以试试这个作为替代方案。
df = pd.read_excel('./test2.xlsx')
try:
print (df['kst'].loc[df['kst'].first_valid_index()])
except:
print('No value is found')