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

使用df.loc查询mdavis@yahoo.com时出现KeyError如何解决

KeyError成因

pandas 中loc方法的默认取值逻辑是匹配行索引(index),你当前创建的DataFrame没有手动指定行索引,系统默认生成的是从0开始的连续整数索引,并不存在mdavis@yahoo.com这个字符串类型的索引值,因此触发KeyError。

正确查询方案

方案1:直接按email列值筛选(无需修改索引)

通过布尔掩码匹配email列符合要求的行,代码如下:

# 返回匹配结果的DataFrame
df.loc[df['email'] == 'mdavis@yahoo.com']

# 如果确定只有一条匹配结果,想要直接拿到Series格式的单条数据,可以加.iloc[0]
df.loc[df['email'] == 'mdavis@yahoo.com'].iloc[0]

方案2:将email设为行索引(适合高频按email查询的场景)

先把email列设置为DataFrame的行索引,之后就可以直接用你原有写法查询:

# 将email列设为行索引
df = df.set_index('email')
# 直接按索引查询即可得到对应条目
df.loc['mdavis@yahoo.com']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 15:24:02