列堆叠多维数组

时间:2014-02-27 18:49:20

标签: arrays numpy

假设我有一个多维数组

a = np.array([(1,2,3,4), (11,21,31,41), (3,3,3,3), (12, 24, 15, 100)])

我想知道是否有办法使用numpy列堆栈,这样当我使用numpy.savetxt将其输出到另一个文件时,我会得到下面显示的内容?

1 11 3 12
2 21 3 24
3 31 3 15
4 41 3 100

1 个答案:

答案 0 :(得分:1)

只需将数组保存为转置:

>>> np.savetxt('dat',a.T)
>>> np.loadtxt('dat')
array([[   1.,   11.,    3.,   12.],
       [   2.,   21.,    3.,   24.],
       [   3.,   31.,    3.,   15.],
       [   4.,   41.,    3.,  100.]])

或者,如果您不想在保存的文本中使用小数:

>>> np.savetxt('dat',a.T,fmt='%.0f')

####@glados:$ head dat
1 11 3 12
2 21 3 24
3 31 3 15
4 41 3 100