您可以使用
转置
操作来执行此操作:
例:
In [2]: a = np.array([[1,2], [3,4], [5,6]])In [5]: a.shapeOut[5]: (3, 2)In [6]: a_trans = a.T #or: np.transpose(a), a.transpose()In [8]: a_trans.shapeOut[8]: (2, 3)In [7]: a_transOut[7]: array([[1, 3, 5], [2, 4, 6]])
请注意,原始数组
a仍将保持不变。转置操作只会复制并转置它。
如果输入阵列是相当1D中,则可以 促进 通过引入新的(singleton)的轴作为所述第二尺寸数组的列向量。下面是一个示例:
# 1D arrayIn [13]: arr = np.arange(6)# promotion to a column vector (i.e., a 2D array)In [14]: arr = arr[..., None] #or: arr = arr[:, np.newaxis]In [15]: arrOut[15]: array([[0], [1], [2], [3], [4], [5]])In [12]: arr.shapeOut[12]: (6, 1)
对于一维情况,还有另一个选择是使用numpy.atleast_2d()
转置操作,如ankostis在注释中建议的那样。
In [9]: np.atleast_2d(arr).TOut[9]: array([[0], [1], [2], [3], [4], [5]])



