Python麻木;冒号和省略号索引之间的区别

Python Numpy; difference between colon and ellipsis indexing

我一直在试验同时使用冒号和省略号的 Numpy 数组索引。但是,我无法理解我得到的结果。

示例代码如下:

>>> a = np.array([[1,2],[3,4]])
>>> a
array([[1, 2],
       [3, 4]])

>>> a[:,np.newaxis]     #  <-- the shape of the rows are unchanged
array([[[1, 2]],

       [[3, 4]]])
>>> a[...,np.newaxis]   #  <-- the shape of the rows changed from horizontal to vertical
array([[[1],
        [2]],

       [[3],
        [4]]])

原来是(2,2)

有了:,就变成了(2,1,2)。在第一个维度之后添加的新轴。

对于...形状是(2,2,1),最后添加新形状。