2017-07-14 29 views
0

如果給定一個索引數組但是我不知道它是一個常規索引數組還是布爾型掩碼,那麼確定哪一個是最好的方法是什麼是什麼?區分指數數組和布爾型掩碼的最佳方法

+3

檢查數據類型'arr.dtype'? – Divakar

+1

爲什麼你被給予一個數組而不被告知應該如何使用它? – Barmar

+0

@barmar因爲它們都是數組索引的常用方法和有效方法。例如,scikit-learn one-hot編碼器具有一個參數,該參數可以是索引數組或布爾型掩碼,也可以是一個參數,表示它是多餘的。 – swhat

回答

1

您可以檢查D型,或遍歷並檢查值不在集合{True, False}以及檢查是否值不在集合{0,1}

布爾掩碼必須是相同的形狀。他們打算索引到的數組,所以這是另一個檢查。

但是,沒有硬性和快速的方法來區分先驗,只有在{0,1}中的數值組成的數組是否是一個或另一個沒有額外的知識。