首页 > 解决方案 > 在 numpy 库中的多维数组中进行索引

问题描述

>>> y = np.arange(35).reshape(5,7)
>>> y[1:5:2,::3]
array([[ 7, 10, 13],
       [21, 24, 27]])

是什么y[1:5:2,::3]意思?详细地。

标签: pythonnumpy

解决方案


您可以在Python slicing notation此处找到详细信息。


您的案例将切片表示法与 numpy 表示法相结合:y[1:5:2,::3]1:5:2在第一维和::3第二维中进行切片

# Initial array
[[ 0  1  2  3  4  5  6]
 [ 7  8  9 10 11 12 13]
 [14 15 16 17 18 19 20]
 [21 22 23 24 25 26 27]
 [28 29 30 31 32 33 34]]
  • 1:5:2取自值[1;5[和一个大于 2 的值,这个,在第一个维度中,所以它保留值13(你可以说rows

    [[ 7  8  9 10 11 12 13]
     [21 22 23 24 25 26 27]]
    
  • ::3取所有元素是未提供 2 个第一个值,但在第二维中仅提供三分之一

    [ 7  8  9 10 11 12 13] => [ 7 10 13] # one over 3
    

推荐阅读