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

使用sklearn.fetch_openml下载MNIST后访问数据报KeyError:0求助

解决MNIST数据X[0]访问触发KeyError的问题

直接解决方案

  • 使用Pandas的位置索引方法访问第一行:
    X.iloc[0]  # 获取第一行数据
    
  • 或者转换为NumPy数组后按列表方式访问:
    # 新版Pandas推荐用法
    X = X.to_numpy()
    # 旧版Pandas可用
    # X = X.values
    X[0]  # 现在可以正常访问第一行
    

问题原因

fetch_openml('mnist_784', version=1)返回的mnist["data"]是Pandas DataFrame对象,不是普通Python列表。DataFrame的[]操作符是用于按列名(键)查询列数据的,而非按行的位置索引。你输入X[0]时,Python会尝试查找名为"0"的列,而数据集里不存在这个列名,因此触发KeyError: 0。

验证数据结构的正确方式

在Jupyter Notebook中执行以下命令确认类型和结构:

type(X)  # 输出应为 pandas.core.frame.DataFrame
X.head() # 查看前5行数据的列名和内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 08:58:17