2013-02-04 228 views
7

當做布爾陣列比較,是否有任何優勢/慣例使用&代替*|代替+?這些總是等價的嗎?&vs *和| vs +

(如果這些文檔中,鏈接可能會是一個可以接受的答案,但我對「numpy的符號」和「numpy的元素單元的布爾比較」天真的搜索沒有任何屈服相關)

回答

5

如果有人想知道:操作具有相同的速度,因此它無論你選擇哪一個。

In [1]: import numpy as np 

In [2]: a = np.random.randn(1000)>0 

In [3]: b = np.random.randn(1000)>0 

In [4]: %timeit a*b 
100000 loops, best of 3: 2.89 us per loop 

In [5]: %timeit a&b 
100000 loops, best of 3: 2.87 us per loop 

In [6]: %timeit a+b 
100000 loops, best of 3: 2.69 us per loop 

In [7]: %timeit a|b 
100000 loops, best of 3: 2.62 us per loop 

就我而言,我使用&|作出明確,我很感興趣,布爾運算(如果讀者忘記了有問題的陣列的D型)。

相關問題