Python的numpy数组操作

3

我需要想办法将那个数组:

[[639 190]
 [ 44   1]
 [ 71   4]
 ...,
 [863 347]
 [870 362]
 [831 359]]

看起来像这样:

[[[639 190]]
 [[ 44   1]]
 [[ 71   4]]
 ...,
 [[863 347]]
 [[870 362]]
 [[831 359]]]

我该怎么做?我是numpy的新手,但我需要它来进行我的科学实验。

2个回答

4

使用 None/np.newaxis 添加新轴 -

a[:,None,:] # Or simply a[:,None]

样例运行 -

In [222]: a = np.random.randint(0,9,(4,3))

In [223]: a
Out[223]: 
array([[1, 6, 6],
       [4, 4, 5],
       [7, 4, 4],
       [4, 1, 3]])

In [224]: a[:,None]
Out[224]: 
array([[[1, 6, 6]],

       [[4, 4, 5]],

       [[7, 4, 4]],

       [[4, 1, 3]]])

3
除了@Divakar提到的newaxis/None之外,还有其他方法可以在NumPy中添加新维度。
np.expand_dims(input_array, axis=1)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接