2016-02-09 264 views
0

隨機替換布爾我有熊貓系列如下列:在熊貓系列

A  False 
B  True 
C  False 
D  True 
E  True 
dtype: bool 

包含正好兩個falses。我想將其中一個False值隨機地翻轉爲True。或者,我如何將第一個或第二個事件更改爲True。我嘗試了替換功能,但它將所有內容都更改爲True。任何幫助表示讚賞。

編輯:

本來預計有下面做的工作:

mask.ix[mask==False][np.random.randint(2)] = True 
+0

是否要將其中的一個改爲True,或者是否要隨機重新分配每個值爲False的值,在您的示例中可能會導致其中的0,1或2個被「替換」。 – pzp

+0

@pzp Mots重要的是我有興趣知道我怎樣才能隨機取代只有一個虛假爲真。所以我的例子的輸出可以是True,True,False,True,True - 或 - False,True,True,True,True。 – Sepehr

回答

0

稍微更簡潔的解決方案是:

mask[~mask].iloc[np.random.randint(2)] = True 
0

可以解決:

mask[mask.index[mask==False][np.random.randint(2)]] = True