【问题标题】:Multidimensional boolean indexing into multidimensional array多维布尔索引到多维数组
【发布时间】:2017-11-17 14:44:13
【问题描述】:

我正在尝试在多维数组中使用多维布尔索引。这是我正在尝试做的一个简单版本。

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

我尝试过但失败了。谢谢大家。

【问题讨论】:

    标签: python numpy multidimensional-array indexing boolean


    【解决方案1】:

    numpy 支持boolean indexing

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

    【讨论】:

    • 我已经尝试过了,但我不明白为什么这在我的现实生活中的代码中不起作用,据我所知,除了尺寸很多之外,它是完全相同的较大。我一定在某个地方有错误。谢谢,但至少我知道我当时并不疯狂
    猜你喜欢
    • 2019-06-18
    • 2018-04-01
    • 2012-04-10
    • 2012-11-16
    • 2017-07-08
    • 2013-06-19
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    相关资源
    最近更新 更多