【问题标题】:Indexing in multidimensional arrays in numpy library在 numpy 库中的多维数组中进行索引
【发布时间】:2020-04-17 18:53:15
【问题描述】:
>>> y = np.arange(35).reshape(5,7)
>>> y[1:5:2,::3]
array([[ 7, 10, 13],
       [21, 24, 27]])

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

【问题讨论】:

  • Stack Overflow 不能替代阅读教程
  • @MadPhysicist 这里不写了numpy.org
  • 不是,但它是here
  • 但是,FWIW,我发现仅仅查看它就很难解开它正在做的事情。希望代码有充分的理由使用它
  • 每隔一行以1 开头,例如1 和 3。每隔三列,0,3,6。

标签: python numpy


【解决方案1】:

您可以在此处找到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
    

【讨论】:

  • 我不知道这意味着什么。我认为语言需要更清晰
猜你喜欢
  • 1970-01-01
  • 2013-06-05
  • 2021-07-27
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多