【发布时间】:2018-09-06 09:39:00
【问题描述】:
我在我的项目中使用numpy.save 和numpy.load 来读写大型 数据集。我意识到numpy.save 不应用附加模式。例如(Python 3):
import numpy as np
n = 5
dim = 5
for _ in range(3):
Matrix = np.random.choice(np.arange(10, 40, dim), size=(n, dim))
np.save('myfile', Matrix)
M1 = np.load('myfile.npy', mmap_mode='r')[1:7].copy()
print(M1)
使用切片[1:7] 加载数据的特定部分是不正确的,因为np.save 没有附加。我找到了这个answer,但它看起来很奇怪(file(filename, 'a') 什么是文件file??)。是否有一种巧妙的解决方法可以在不使用额外列表的情况下实现这一目标?
【问题讨论】:
-
a和file表示使用追加模式打开文件 -
“
file是什么?” 这是一个Python 2 builtin function。它在 Python 3 中被删除。 -
@Zhiya 是的,但是它会这样抱怨
write() argument must be str, not bytes这是因为Matrix -
@Medo 我们可以看到你的代码和错误吗?
-
np.load('myfile.npy', mmap_mode='r')[1:7]无论如何也行不通。npy文件格式不能这样工作。
标签: python python-3.x python-2.7 numpy