Python 多维布尔索引到多维数组
我试图将多维布尔索引用于多维数组。下面是我试图做的一个简单版本Python 多维布尔索引到多维数组,python,numpy,multidimensional-array,indexing,boolean,Python,Numpy,Multidimensional Array,Indexing,Boolean,我试图将多维布尔索引用于多维数组。下面是我试图做的一个简单版本 import numpy as np pf=np.array([[[-67. ,-20.35, 1], [-46.35, 33.25, 2], [ 1 , 2 , 1], [ 4 , 4 , 4]], [[-64. ,-70.35, 8], [-46.35, 33.25
import numpy as np
pf=np.array([[[-67. ,-20.35, 1],
[-46.35, 33.25, 2],
[ 1 , 2 , 1],
[ 4 , 4 , 4]],
[[-64. ,-70.35, 8],
[-46.35, 33.25, 7],
[ 3 , 7 , 8],
[ 9 , 3 , 2]]])
booly=np.array([[False, True, False, False],
[False, False, False, True]])
我想使用我的布尔数组从我的初始(2,4,3)数组中选择真值,以获得最终(2,3)数组(无循环):
truth=np.array([[-46.35, 33.25, 2],
[ 9 , 3 , 2]])
我试过了,但失败了。谢谢大家。numpy支持:
我已经试过了,但我不明白为什么在我的现实生活代码中没有这样做,据我所知,除了维度要大得多的事实之外,它们是完全一样的。我一定在什么地方出错了。谢谢,不过至少我知道我没有疯
res = pf[booly]
print(res)
# [[-46.35 33.25 2. ]
# [ 9. 3. 2. ]]