【发布时间】:2020-01-20 22:34:37
【问题描述】:
我有一个形状为 (800,5,4) 的 3D 数组,例如:
arr = array([[35. , 33. , 33. , 0.15],
[47. , 47. , 44. , 0.19],
[49. , 56. , 60. , 0.31],
...,
[30. , 27. , 25. , 0.07],
[54. , 49. , 42. , 0.14],
[33. , 30. , 28. , 0.22]])
我有一个第二维的一维数组(因此它们的范围从 0 到 4),如下所示:
indeces = [0,3,2,0,1,1,1,0,...,0,1,2,2,4,3]
我想从第二维中选择idx项,并取回一个形状为(800,4)的数组
我尝试了以下方法,但无法成功:
indexed = arr[:,indeces,:]
我错过了什么?
【问题讨论】:
-
当您多次从该中间索引中选择时,您的结果将大小为 (800,len(indeces), 4)。如果您希望它是 (800,4),则只能选择一个索引,例如 arr[:,indeces[0],:]。
-
发布您收到的错误消息
标签: python numpy multidimensional-array numpy-ndarray