簡體   English   中英

python - numpy - 獲取包含 True 的矩陣的索引

[英]python - numpy - get index of matrix that contains True

在下面的代碼中

import numpy as np

np.array([
    [False,  True, False],
    [False, False, False],
    [False, False,  True],
    [False, False, False]
])

我想檢索與包含至少一個 True 的列表相對應的數組[True, False, True, False]

嘗試這個:

您可以使用np.any來測試沿給定軸的任何數組元素是否評估為True

result = np.any(arr, axis=1)

或者,

您可以使用np.sum對沿列軸的所有值求和,並比較這些值是否大於或等於 1,這將返回布爾掩碼。

result = (np.sum(arr, axis=1) >= 1)

結果:

[True False  True False]

正如評論中所建議的那樣,實現這一目標的最佳方法是使用np.any來測試沿給定軸的任何元素是否評估為 True。 在實踐中:

import numpy as np

a = np.array([
           [False,  True, False],
           [False, False, False],
           [False, False,  True],
           [False, False, False]])

np.any(a, axis=1)
array([ True, False,  True, False])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM