首页 > 解决方案 > ValueError:缓冲区 dtype 不匹配,预期为“Python 对象”但得到“双倍”

问题描述

我正在尝试读取 hdf 格式的文件。它以前工作正常,但现在突然出现以下错误:

pandas\_libs\writers.pyx in pandas._libs.writers.string_array_replace_from_nan_rep()

ValueError: Buffer dtype mismatch, expected 'Python object' but got 'double'

我的代码如下:

import pandas as pd
data = pd.read_hdf('p1.hdf')
data

我正在使用 Jupyter 笔记本和 python 3.6。我只是不明白为什么我之前能够毫无问题地读取文件,现在弹出此错误。自上次运行以来我所做的不同的事情是创建一个虚拟环境来运行另一个代码,当我现在遇到这个错误时,我重新安装了 anaconda,但是在读取这个文件时我仍然收到这个错误:(

标签: python-3.xpandasjupyter-notebookanaconda

解决方案


您可能已经安装了最新的 pandas 版本。我对 pandas-0.23.4 有同样的问题,将它降级到 0.22.0 为我修复了它。


推荐阅读