Python 提取3d numpy数组的某些列
我想从3d numpy数组中提取某些列。想象一个3d numpy数组,如Python 提取3d numpy数组的某些列,python,numpy,multidimensional-array,Python,Numpy,Multidimensional Array,我想从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]
[[[ 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]]]
[[[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]]]
例如,如果应该提取列2-4,我想得到一个3d数组,如
[[[ 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]]]
[[[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]]])