带列表的Numpy切片
我正试图用列表带列表的Numpy切片,numpy,numpy-slicing,Numpy,Numpy Slicing,我正试图用列表b对一个数据数组a进行切片。但这种行为并不像我预期的那样。我必须改变什么才能得到想要的结果 a = np.arange(27).reshape(3,3,3) b = [2,2] 实际行为: a[:,b] array([[[ 6, 7, 8], [ 6, 7, 8]], [[15, 16, 17], [15, 16, 17]], [[24, 25, 26], [24, 25, 26]]])
b
对一个数据数组a
进行切片。但这种行为并不像我预期的那样。我必须改变什么才能得到想要的结果
a = np.arange(27).reshape(3,3,3)
b = [2,2]
实际行为:
a[:,b]
array([[[ 6, 7, 8],
[ 6, 7, 8]],
[[15, 16, 17],
[15, 16, 17]],
[[24, 25, 26],
[24, 25, 26]]])
a[:,2,2]
array([ 8, 17, 26])
通缉行为:
a[:,b]
array([[[ 6, 7, 8],
[ 6, 7, 8]],
[[15, 16, 17],
[15, 16, 17]],
[[24, 25, 26],
[24, 25, 26]]])
a[:,2,2]
array([ 8, 17, 26])
尝试用
切片(无)替换:
,然后解包b
:
a[(slice(None), *b)]
# [ 8 17 26]
非常感谢你,效果非常好a[(切片(无),*b)]``结尾的括号太多了。谢谢。忘了去掉后面的括号。