You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pandas获取列首个非空值时如何处理全空场景的KeyError错误

错误根因

当kst列所有值均为空时,df['kst'].first_valid_index()会返回None,你直接将None作为索引传入loc进行取值,就会触发KeyError: None。你原来的写法没有先判断索引是否存在就直接取值,所以才会报错。

修复后的代码

import pandas as pd

df = pd.read_excel('./test2.xlsx')
# 先获取有效索引再做判断
valid_index = df['kst'].first_valid_index()
if valid_index is not None:
    print(df['kst'].loc[valid_index])
else:
    print('d')

更简洁的替代写法

你也可以直接清空列的空值后取第一个值,不用手动判断索引:

import pandas as pd

df = pd.read_excel('./test2.xlsx')
dropna_ser = df['kst'].dropna()
print(dropna_ser.iloc[0] if not dropna_ser.empty else 'd')

内容的提问来源于stack exchange,提问作者x89

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 00:45:04