4

有谁知道如何解决这个错误?

Exception Type: ImportError
Exception Value: No module named numpyio

查看我的 python 代码,我的导入:

from scipy.io.numpyio import fwrite, fread

你能帮助我吗??

4

3 回答 3

4

这是因为该scipy.io.numpyio模块在 SciPy 0.7 之后的某个时间被删除(例如,参见这个线程)。在 SciPy Input/Output Cookbook 页面中,您可以改用函数numpy.fromfilenumpy.nadarray.tofile(参见“原始二进制”标题下)。

于 2012-05-17T14:24:18.380 回答
3

虽然numpy.ndarray.fromfile()允许您指定要读取的二进制格式(例如,'f' 表示浮点数),但该.tofile()函数没有这样的二进制选项。对于我们这些需要以特定格式编写二进制文件以供其他软件读取的人来说,这是一个非常不方便的不一致。不幸的是,开发社区似乎忽略了这个问题,因为似乎没有公开票。

我使用数组模块创建了一个简单的替换函数。基本代码如下所示:

def fwrite(filename, formatstring, ndarray):
    arr = array.array(formatstring, ndarray.flatten())
    f = open(filename, 'w')
    arr.tofile(f)
    f.close()

到目前为止,这似乎有效。显然,这可以/应该用错误检查等来修饰。

于 2012-11-12T07:15:01.017 回答
1

档案

numpy 数组的 I/O 函数已移至 numpy 所在的位置,或在提供重复功能时删除。使用 numpy.load 和 numpy.save 读取 numpy 自己的 .npy 格式的写入数组,loadtxt/savetxt 用于 ascii。

于 2012-05-17T14:24:11.487 回答