我想从3d numpy数组中提取某些列。想象一下像
这样的3d numpy数组[[[ 65 234 169]
[203 191 245]
[ 36 58 196]
[207 208 143]
[251 208 187]]
[[ 79 69 237]
[ 13 124 42]
[104 165 82]
[170 178 178]
[ 66 42 210]]
[[ 40 163 219]
[142 37 140]
[ 75 205 143]
[246 30 221]
[ 16 98 102]]]
如果 - 例如 - 应该提取列2-4,我想得到一个像
这样的结果3d数组[[[203 191 245]
[ 36 58 196]
[207 208 143]]
[[ 13 124 42]
[104 165 82]
[170 178 178]]
[[142 37 140]
[ 75 205 143]
[246 30 221]]]
我一直在玩数组索引和切片几个小时,但我不能让它工作。 anyboday可以帮助我吗?
提前致谢并致以最诚挚的问候。
答案 0 :(得分:4)
In [12]: array
Out[12]:
array([[[ 65, 234, 169],
[203, 191, 245],
[ 36, 58, 196],
[207, 208, 143],
[251, 208, 187]],
[[ 79, 69, 237],
[ 13, 124, 42],
[104, 165, 82],
[170, 178, 178],
[ 66, 42, 210]],
[[ 40, 163, 219],
[142, 37, 140],
[ 75, 205, 143],
[246, 30, 221],
[ 16, 98, 102]]])
In [13]: array[:, 1:4, :]
Out[13]:
array([[[203, 191, 245],
[ 36, 58, 196],
[207, 208, 143]],
[[ 13, 124, 42],
[104, 165, 82],
[170, 178, 178]],
[[142, 37, 140],
[ 75, 205, 143],
[246, 30, 221]]])