【问题标题】:find the index of a boolean array whose values are true查找值为真的布尔数组的索引
【发布时间】:2016-08-24 18:56:47
【问题描述】:

我想知道找到Boolean 数组的所有索引的最佳方法是什么,其中的值为True。例如,bool 值的数组,

import numpy as np
A = np.array([True, False, True, False, True])
true_list = A[A == True].index.tolist()

【问题讨论】:

    标签: python python-3.x numpy boolean


    【解决方案1】:

    这很容易做到:

    np.where(A)
    

    或者:

    A.nonzero()
    

    【讨论】:

    • true_list, = np.where(A) 是我想要的,但是是的 :)
    • 请注意,在上述两种情况下,结果都是一个 numpy 数组的元组,一个对应于 A 的每个维度。在这种情况下,结果将是:(array([0, 2, 4]),)。您必须执行np.where(A)[0] 才能获得array([0, 2, 4])
    • np.where 可用于其他类似数组的对象,例如列表,而不仅仅是 numpy 数组。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2021-03-12
    • 2017-08-06
    • 2014-06-17
    相关资源
    最近更新 更多