我有一个带有True和False值的np.array。有点像这样:
full=[False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, True, False, False,
False, False, False, False, False, False, False, False, False]
第24位有一个真正的价值。我知道
b = np.where(full)
将打印出类似这样的内容
(array([24]),)
但我只对数字24感兴趣。假设这个True值可以在完整数组中的任何位置,并且甚至可以有多个True值,我该如何检索b中的数字?
编辑:尝试更具体。基本上我试图从b中获取值并将其放入另一个np.array中。如果我将b输入到像这样的1d数组中:
桨并[b]
因为b不是数字,所以它会发回错误。
另外,重申一下,full是一个numpy数组,可以包含所有true,no true或多个true值。
答案 0 :(得分:1)
您可以使用argmax(arr)
作为第一个True
值的索引。
正如@Alok指出的那样,如果结果为零,则必须检查arr
的第一个元素是否为False
。