Python numpy数组操作

时间:2017-07-07 05:51:38

标签: python python-3.x numpy

我需要以某种方式制作那个数组:

[[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 个答案:

答案 0 :(得分: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]]])

答案 1 :(得分:3)

除了@Divakar提到的newaxis/None

np.expand_dims(input_array, axis=1)