我正在for循环中创建多个形状为(1,2)的np.array。数组包含某些位置的x坐标和y坐标。在每次迭代中,我都会覆盖这些数组。我想将这些数组存储在文件中,以便以后可以使用它们进行绘图。我不在乎,如果该文件对人类可读。
目前,我只尝试了两(1,2)个数组,但是非常重要的一点是,我可以在文件中存储任意数量的数组。
我尝试使用filename.write('{}\n'.format(arr))
将数组写入.txt文件,但无法重用它们进行绘图。另外,我还看不到如何将多个数组像这样写入文件。
import numpy as np
arr = np.array([[-1, 0], [1, 0]])
# write to a .txt file:
with open('file.dat', 'w+') as f:
f.write('{}\t{}\n'.format(arr[0], arr[1]))
for i in range(3):
arr = arr + 2
f.write('{}\t{}\n'.format(arr[0], arr[1]))
文件如下:
[2 3] [4 3]
[5 6] [7 6]
[8 9] [10 9]
使用此代码,我在左侧获得一列向量,在右侧获得一列向量。
现在,我要为第一列的每个向量绘制arr[0][0]
与arr[0][1]
相对于第二列的向量。因此,我想从文件中加载此信息并再次获取数组。
请记住,此示例仅显示了两(1,2)个数组的问题,但是我需要能够对任意数量的向量执行相同的操作,即它也应适用于arr = np.array([[-1, 0], [1, 0], [1, 2])
甚至更多向量。
答案 0 :(得分:0)
使用numpy.savez
或numpy.savez_compressed
将一个或多个数组(它们可以具有不同的数据类型和形状)保存到文件中。
以后,您可以使用{{1} }
例如:
numpy.load