首页 > 解决方案 > 重塑阵列

问题描述

我需要转换数组以构建混淆矩阵

我怎样才能转换这个数组

array([5, 2, 8, ..., 1, 2, 2])

所以它看起来像这样?

array([[5],
   [2],
   [8],
   ...,
   [1],
   [2],
   [2]])

标签: pythonnumpy

解决方案


In [1009]: arr = np.arange(4)
In [1010]: arr
Out[1010]: array([0, 1, 2, 3])

正如你的标题所说:

In [1011]: arr1 = arr.reshape(4,1)
In [1012]: arr1
Out[1012]: 
array([[0],
       [1],
       [2],
       [3]])

添加维度的另一种惯用方式:

In [1013]: arr1 = arr[:,None]     # or with np.newaxis
In [1014]: arr1
Out[1014]: 
array([[0],
       [1],
       [2],
       [3]])
In [1015]: arr.shape
Out[1015]: (4,)
In [1016]: arr1.shape
Out[1016]: (4, 1)

推荐阅读