Numpy数组以错误的格式保存数据

时间:2018-04-06 08:55:27

标签: python python-2.7 numpy

我正在开展一个项目,我需要将2D数组保存为.txt文件,其格式与原始矩阵相同。

我正在使用numpy来保存这些数据,如下所示:

average_matrix = np.array(average_matrix)
with file(data_dir + "average.txt", "w") as outfile:
    for data_slice in average_matrix:
        np.savetxt(outfile, data_slice, fmt='%-4i')
        outfile.write("\n")

我想保存的数据被格式化为480 * 640阵列。但是在打开目标文件时,所有数据都按如下方式分隔:

  .
  .
  .
1156
1156
1149
1711
1773
1836
1836
1836
1836
1836
1836
1773
1772
1267
1268
1204
  .
  .
  .

并非与预期的480 * 640格式相同。

有没有人知道为什么会发生这种情况,并且可能有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

numpy.savetxt的文档中,您需要传递一个文件名,以及可以为二维数组的数组。因此,您需要删除循环,只需使用:

np.savetxt("average.txt", average_matrix, fmt='%-4i')