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

使用Pandas加载CSV文件时遇KeyError的解决方法求助

解决Pandas提取'violence'列时的KeyError问题

嗨,我之前处理CSV文件时也遇到过一模一样的问题——大多是列名不匹配导致的,很好解决。咱们一步步来搞定这个KeyError:

第一步:先搞清楚CSV里的真实列名

你以为的列名和实际CSV里的可能不一样,先打印所有列名看看:

print("CSV里的所有列名:", c_data.columns.tolist())

这样你就能明确看到,列名到底是violence、VIOLENCE,还是带空格的Violence,甚至是完全不同的暴力犯罪率这类名称。

第二步:清理列名的冗余空格

很多时候CSV导出时会给列名自动加上前后空格,导致你直接用'violence'找不到。先把所有列名的空格去掉,还可以统一转成小写方便调用:

# 去掉所有列名前后的空格
c_data.columns = c_data.columns.str.strip()
# 把列名统一转成小写
c_data.columns = c_data.columns.str.lower()

之后再试提取列:

print(c_data['violence'])

第三步:如果还是找不到,试试模糊匹配找相关列

要是列名和你想的完全不一样(比如叫Violent Offenses),可以用关键词匹配来找:

# 找出所有名称里包含"viol"的列(不区分大小写)
matching_columns = [col for col in c_data.columns if 'viol' in col.lower()]
print("找到的相关列:", matching_columns)

这样就能定位到所有和暴力相关的列,然后用正确的列名去提取数据。

额外小技巧:查看数据完整结构

如果还是有疑问,可以用info()方法查看数据的详细信息,包括列名、数据类型等:

c_data.info()

这能帮你更全面地确认问题所在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:27:50