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

加载Pickle格式Pandas DataFrame时出现numpy._core.numeric模块缺失错误

加载Pickle文件报错:ModuleNotFoundError: No module named 'numpy._core.numeric'

问题详情

  • 保存Pandas DataFrame为Pickle文件的代码:
    df.to_pickle('data.pkl')
    
  • 尝试两种加载方式均触发相同错误:
    方式1:
    with open('path/to/data.pkl', 'rb') as handle:
        data = pickle.load(handle)
    
    方式2:
    data = pd.read_pickle('path/to/data.pkl')
    
  • 错误信息:
    ModuleNotFoundError: No module named 'numpy._core.numeric'
    
  • 环境说明:两台机器均运行pandas 2.2.2和numpy 1.26.4,该版本组合曾解决同类问题,但本次无效。

可行解决方案

1. 重装numpy确保完整性

卸载现有numpy后重新安装,修复可能损坏的文件:

# pip环境
pip uninstall -y numpy
pip install numpy==1.26.4

# conda环境
conda remove numpy
conda install numpy=1.26.4

2. 验证numpy模块可用性

在Python终端执行以下代码,确认numpy._core.numeric可正常导入:

import numpy
print(numpy.__file__)
from numpy._core import numeric
print(numeric.__file__)

若导入失败,说明numpy安装存在问题,重复步骤1。

3. 换用pyarrow序列化替代Pickle

避免Pickle的版本隐性兼容问题,改用pyarrow引擎保存和加载:

# 保存(需先安装pyarrow:pip install pyarrow)
df.to_pickle('data.pkl', protocol=5, storage_options={'engine': 'pyarrow'})

# 加载
data = pd.read_pickle('data.pkl', storage_options={'engine': 'pyarrow'})

4. 清理Python缓存

删除两台机器上的__pycache__文件夹,以及pip/conda的缓存目录,消除旧缓存文件的干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 23:02:41