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

使用Pandas读取CSV时出现KeyError: 'NOX'的原因及解决方法

读取NOX/NO2列时出现KeyError的原因及解决方法

错误原因

  • 分隔符设置错误:你的CSV文件实际用**逗号(,)**分隔字段,但代码里指定了sep='\t'(制表符),导致pandas把每一行内容当成单个列,自然找不到NOX、NO2这些列名。
  • 表头处理错误:代码中设置了header=None,这会让pandas把CSV的第一行(原本的表头行)当成普通数据行,自动给列分配数字索引(0、1、2...),所以用字符串'NOX'作为列名访问时会触发KeyError。

解决方法

修正pd.read_csv的参数,让它正确识别CSV的格式:

  1. 移除header=None,让pandas自动将第一行作为列名;
  2. 将sep='\t'改为sep=','(或者直接省略该参数,pandas默认会自动检测逗号分隔的CSV);
  3. 无需手动调用open(),pd.read_csv可以直接接收文件名作为参数,代码更简洁。

修正后的完整代码:

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

# 直接读取CSV,自动识别表头和逗号分隔符
data = pd.read_csv('Air Pollutants.csv', encoding='utf-8') 

NOX = data['NOX']
NO2 = data['NO2'] 

sns.kdeplot(NOX, shade=True, color="orange")
sns.kdeplot(NO2, shade=True, color="blue")
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:15:31