如何将np.arrays附加到文件中并在以后用于绘图目的

时间:2019-07-06 17:26:00

标签: arrays python-3.x file numpy save

我正在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])甚至更多向量。

1 个答案:

答案 0 :(得分:0)

使用numpy.saveznumpy.savez_compressed将一个或多个数组(它们可以具有不同的数据类型和形状)保存到文件中。
以后,您可以使用{{1} }

例如:

numpy.load