提取3d numpy数组的某些列
问题描述:
我想从3d numpy数组中提取某些列。想象一下,一个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]]]
我一直在阵列玩弄索引和切片几个小时,但我没有得到它的工作。 任何今天都可以帮助我吗?
在此先感谢和问候。
答
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]]])
指数与那些索引第二轴线 - https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#integer-array-indexing – Divakar