我正在尝试使用 Python 中的 savetxt 将一维数组写入多个列中。我没有找到允许这样做的选项。例如,我有一个包含 13 个元素的一维数组,我想写成 5 列,如下所示:
1 2 3 4 5
6 7 8 9 10
11 12
我在用:
np.savetxt('temp_test.dat',x,fmt='%11.9e',delimiter=',',newline=' ')
如何指定列数?
谢谢
安东尼
您可以指定块大小和循环:
orig_a = np.arange(1, 14)
chunk_size = 5
i = 0
with open('test.txt', 'w') as f:
a = orig_a[i * chunk_size:(i + 1) * chunk_size]
while len(a):
a = orig_a[i * chunk_size:(i + 1) * chunk_size]
np.savetxt(f, a[np.newaxis], fmt='%d')
i += 1
给出:
In [14]: cat test.txt
1 2 3 4 5
6 7 8 9 10
11 12 13
请注意,对于具有多行的数组,这将是低效的。