2016-08-26 35 views
1

Numpy中是否有函數在二進制數組中反轉0和1? 如果在二進制數組中反轉0和1

a = np.array([0, 1, 0, 1, 1]) 

我想獲得:

b = [1, 0, 1, 0, 0] 

我用:

b[a==0] = 1 
b[a==1] = 0 

但也許它已經存在的東西在numpy的做到這一點。

+4

可以簡單地做'B = 1-A'。 – shivsn

+0

http://stackoverflow.com/questions/13728708/inverting-a-numpy-boolean-array-using可能的重複 – danidee

回答

7

可以簡單地做:

In[1]:b=1-a 
In[2]:b 
Out[2]: array([1, 0, 1, 0, 0]) 

In[22]:b=(~a.astype(bool)).astype(int) 
Out[22]: array([1, 0, 1, 0, 0]) 
4

一種功能性的方法:

>>> np.logical_not(a).astype(int) 
array([1, 0, 1, 0, 0]) 
相關問題