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

使用pandas读取mnist.csv时出现UnicodeDecodeError错误求助

解决pandas读取mnist.csv时的UnicodeDecodeError编码错误

方法一:指定兼容编码格式

pandas默认用utf-8编码读取文件,你的文件显然不是该编码,先尝试以下常见编码:

  • 使用latin-1编码(兼容所有字节,不会丢失数据):
    data = pd.read_csv('mnist.csv', encoding='latin-1')
    
  • 如果上述无效,尝试cp1252编码:
    data = pd.read_csv('mnist.csv', encoding='cp1252')
    

方法二:检测文件实际编码

用chardet库自动检测文件的真实编码,步骤如下:

  1. 安装chardet:
    pip install chardet
    
  2. 检测编码:
    import chardet
    
    with open('mnist.csv', 'rb') as f:
        detect_result = chardet.detect(f.read())
    
    print("文件编码:", detect_result['encoding'])
    
  3. 用检测出的编码读取文件:
    data = pd.read_csv('mnist.csv', encoding=detect_result['encoding'])
    

方法三:跳过编码错误(不推荐)

如果只是临时应急,可以忽略无法解码的字节,但可能导致数据丢失:

data = pd.read_csv('mnist.csv', encoding_errors='ignore')

额外建议:直接加载官方MNIST数据集

MNIST通常以二进制格式分发,如果你是自行转换的csv文件出现问题,建议直接用机器学习库自带的接口加载,更可靠:

  • 使用sklearn加载:
    from sklearn.datasets import fetch_openml
    
    mnist = fetch_openml('mnist_784', version=1, as_frame=True)
    data = mnist.frame
    
  • 使用TensorFlow/Keras加载:
    from tensorflow.keras.datasets import mnist
    
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 18:38:25