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

在Google Colab绘制CSV直方图遇KeyError问题求助

解决KeyError: 'num_hrefs'问题(Google Colab中处理Online News Popularity数据集)

问题根源

你遇到的KeyError是因为该CSV数据集的列名存在前导空格。虽然你在数据集文件里看到的列名是num_hrefs,但pandas加载后,实际列名是' num_hrefs'(开头有空格),直接用无空格的列名索引自然找不到。

解决方案

1. 确认列名的真实状态

先运行以下代码查看所有列名的实际情况:

print(data.columns.tolist())

你会发现所有列名前都带有空格,比如' num_hrefs'、' shares'。

2. 清理列名

有两种方式处理:

  • 方式一:加载数据时直接处理
    在pd.read_csv中添加skipinitialspace=True参数,自动忽略列名前的空格:
    data = pd.read_csv('OnlineNewsPopularity.csv', skipinitialspace=True)
    
  • 方式二:加载后手动清理
    对已加载的数据列名进行去空格处理:
    data.columns = data.columns.str.strip()
    

3. 重新运行直方图代码

处理完列名后,原代码即可正常运行。另外建议修正图表标签(匹配实际列含义):

plt.hist(data['num_hrefs'], bins=30)
plt.xlabel('Number of Hyperlinks')
plt.ylabel('Number of Articles')
plt.title('Distribution of Hyperlinks in Online News')
plt.show()

如果要分析分享量,改用shares列:

plt.hist(data['shares'], bins=30)
plt.xlabel('Number of Shares')
plt.ylabel('Number of Articles')
plt.title('Popularity Distribution of Online News')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 21:30:22