【发布时间】: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] 是什么意思?详细。
【问题讨论】:
>>> y = np.arange(35).reshape(5,7)
>>> y[1:5:2,::3]
array([[ 7, 10, 13],
[21, 24, 27]])
y[1:5:2,::3] 是什么意思?详细。
【问题讨论】:
您可以在此处找到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 的第一个维度,因此它保留值 1 和 3(你可以说 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
【讨论】: