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

Pandas使用索引键读取DataFrame行触发KeyError报错原因求解

问题原因

  • pandas 中直接使用DataFrame[键]语法时,默认优先匹配列名,而非行索引。只有当传入的参数是切片表达式(比如Energy['Afghanistan':'Albania'])时,才会尝试按行索引筛选数据。你要取索引为Afghanistan的行属于行维度筛选,直接写Energy['Afghanistan']会去列名集合中检索该值,找不到自然触发KeyError。
  • 额外补充:iloc是基于整数位置的索引选择器,正常不支持传入字符串类型的索引值,你实际使用的应该是基于标签索引的loc方法吧?Energy.loc['Afghanistan']是按行标签取数的标准写法,符合pandas的语法规则。
  • 如果你一定要用[]语法筛选对应行,可以写为Energy[Energy.index == 'Afghanistan'],不过更推荐直接用loc方法,语法更清晰性能也更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:39:02