同じ名前の新しいファイルを保存すると、古いファイルが上書きされます。あなたのforループのうち保存しを取ることはありません理由:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([5, 6, 12])
save_info = np.zeros([3, 2, 3]) #array to store all the info
#one dimension for each entry in a, one for as many arrays as you have
#generating info, and one for the number of times you'll loop over it
for i in range(3): #therefore i will be [0, 1, 2]
save_info[:, 0, i] = a #save from the a array
save_info[:, 1, i] = b #save from the b array
a = a * 3
b = b * 2
np.savez("file_info", info1=save_info) #save outside for loop doesn't overwrite
私はそのファイルから情報を読み取ることができます。
>>> import numpy as np
>>> data = np.load("file_info.npz") #load file to data object
>>> data["info1"]
array([[[ 1., 3., 9.],
[ 5., 10., 20.]],
[[ 2., 6., 18.],
[ 6., 12., 24.]],
[[ 3., 9., 27.],
[ 12., 24., 48.]]])
編集: それとも、一つの大きな配列を作成する回避している場合
import numpy as np
a = np.array([1, 2, 3])
b = np.array([5, 6, 12])
for i in range(3): #therefore i will be [0, 1, 2]
np.savez("file_info_"+str(i), info1=a, info2=b)
#will save to "file_info_0.npz" on first run
#will save to "file_info_1.npz" on second run
#will save to "file_info_2.npz" on third run
a = a * 3
b = b * 2
編集:あなたはあなたがするたびにループを通るに保存しているファイルの名前を変更することができ 次の2つの小さなアレイ、AAのための1つを作ることを好むかもしれませんbのための1つ:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([5, 6, 12])
save_a = np.zeros([3, 3]) #array to store all the a runs
save_b = np.zeros([3, 3]) #array to store all the b runs
for i in range(3): #therefore i will be [0, 1, 2]
save_a[:, i] = a #save from the a array
save_b[:, i] = b #save from the b array
a = a * 3
b = b * 2
np.savez("file_info", info1=save_a, info2=save_b) #save outside for loop doesn't overwrite
異なる出力ファイルを使用することによって。または、1つのファイル内にすべてが必要な場合は、1つの大きなアレーをもう1つ外側のアレーで作成します。 – sascha