简体   繁体   English

多维布尔索引到多维数组

[英]Multidimensional boolean indexing into multidimensional array

I am trying to use a multi-dimensional boolean index into a multi-dimensional array. 我正在尝试使用多维布尔索引到多维数组中。 Here is a simple version of what I am trying to do. 这是我正在尝试做的一个简单版本。

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]])

I would like to use my boolean array to select the true values from my initial (2,4,3) array to obtain the final (2,3) array without a loop: 我想使用布尔数组从初始(2,4,3)数组中选择真实值,以获得没有循环的最终(2,3)数组:

truth=np.array([[-46.35, 33.25, 2],
                [  9   ,  3   , 2]])

I have tried and failed. 我尝试过并失败了。 Thanks guys. 多谢你们。

numpy supports boolean indexing : numpy支持布尔索引

res = pf[booly]
print(res)
# [[-46.35  33.25   2.  ]
# [  9.     3.     2.  ]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM