如何解释这种 NumPy 索引:a[2::2, ::2]?
How to interpret this kind of NumPy indexing: a[2::2, ::2]?
谁能告诉我如何解释这种寻址方式:a[2::2, ::2]?我不知道如何使用这种索引。
a = np.random.random((6,6))
print(a)
[[0.17948771 0.61436323 0.48768101 0.20540278 0.15331527 0.17766787]
[0.40028608 0.63915391 0.92719741 0.56604286 0.92959065 0.92707981]
[0.27554561 0.09253335 0.73841082 0.00840638 0.33683454 0.89065058]
[0.25030938 0.37093169 0.70789081 0.95205777 0.60483874 0.81425781]
[0.14250593 0.56916738 0.45440191 0.21140548 0.72945015 0.59313599]
[0.68116512 0.45349473 0.23057609 0.36349226 0.622701 0.07951557]]
a[2::2, ::2]
array([[0.27554561, 0.73841082, 0.33683454],
[0.14250593, 0.45440191, 0.72945015]])
a[2:]
将 return 从索引 2
到列表末尾的 a
的一部分。 a[2::2]
会做同样的事情,但只会 return 每两个值,a[2::3]
每三个值等等。所以如果
a = [0,1,2,3,4]
然后 a[2::2]
将是 [2,4]
(2 到 4,但仅每秒一次)。对于 numpy 数组 a[2:,:]
将 return 从第一维的索引 2
开始的一片 a
和整个第二维。与 a[2:,:]
.
相比,a[2::2, ::2]
将因此仅 return 每个第二个元素
在您的示例中,returned 元素来自以下索引
[[(2,0), (2,2), (2,4)], [(4,0), (4,2), (4,4)]]
谁能告诉我如何解释这种寻址方式:a[2::2, ::2]?我不知道如何使用这种索引。
a = np.random.random((6,6))
print(a)
[[0.17948771 0.61436323 0.48768101 0.20540278 0.15331527 0.17766787]
[0.40028608 0.63915391 0.92719741 0.56604286 0.92959065 0.92707981]
[0.27554561 0.09253335 0.73841082 0.00840638 0.33683454 0.89065058]
[0.25030938 0.37093169 0.70789081 0.95205777 0.60483874 0.81425781]
[0.14250593 0.56916738 0.45440191 0.21140548 0.72945015 0.59313599]
[0.68116512 0.45349473 0.23057609 0.36349226 0.622701 0.07951557]]
a[2::2, ::2]
array([[0.27554561, 0.73841082, 0.33683454],
[0.14250593, 0.45440191, 0.72945015]])
a[2:]
将 return 从索引 2
到列表末尾的 a
的一部分。 a[2::2]
会做同样的事情,但只会 return 每两个值,a[2::3]
每三个值等等。所以如果
a = [0,1,2,3,4]
然后 a[2::2]
将是 [2,4]
(2 到 4,但仅每秒一次)。对于 numpy 数组 a[2:,:]
将 return 从第一维的索引 2
开始的一片 a
和整个第二维。与 a[2:,:]
.
a[2::2, ::2]
将因此仅 return 每个第二个元素
在您的示例中,returned 元素来自以下索引
[[(2,0), (2,2), (2,4)], [(4,0), (4,2), (4,4)]]