【发布时间】:2020-07-31 02:26:45
【问题描述】:
我有很多 ndarray 对象要保存。我想一个一个地保存这些 ndarray,这意味着每个 ndarray 都保存在文件中的一行中。我发现 np.savez 似乎对这种情况没有用。我怎样才能做到这一点?谢谢!
我试过这样的方式:
当保存这些 ndarray 时,
with open(file, 'a') as f:
for i in range(n)
f.write(str(ndarry[i].tostring()) + '\n')
当加载和恢复它们时,
list_array = []
with open(file, 'a') as f:
line = f.reanline().strip('\n')
while line
ndarray = np.fromstring(line, dtype=np.int64).reshape((2,3))
list_array.append(ndarray)
line = f.reanline().strip('\n')
但我得到“ValueError:字符串大小必须是元素大小的倍数”
【问题讨论】:
-
请展示您尝试过的内容。您是否希望将
nnp.arrays 保存到同一个文件中? -
另外所有的数组长度都一样吗?
-
我试过在保存 ndarray 时使用 f.write(str(np.tostring()) + '\n') 和 np.fromstring(f.readline().strip('\n ')) 来恢复它,但我得到“ValueError:字符串大小必须是元素大小的倍数”。我确实想将 n np.arrays 保存到同一个文件中。
-
编辑问题以包含您尝试过的内容
-
是的,所有的数组都具有相同的形状。
标签: python numpy numpy-ndarray