2013-12-09 28 views
1

我正在使用Pandas 12.0中非常大的浮點數據系列。我想要做的是在這個系列中爲NaNs設置極端異常值,這代表了標準化的特徵向量(平均值爲0,標準偏差爲1)。在Pandas中使用布爾索引進行內存爆炸

我沒有問題使得特徵向量的布爾面具發現極端值:

mask = feature_series > 10 | feature_series < 10 

這需要最少的資源。但是,當我嘗試實際使用此掩碼時,會發生內存爆炸,必須在發生崩潰之前強制退出。這發生在:

feature_series[mask] = np.nan 

它也不限於此操作。我也得到一個內存爆炸:

mask.any() 

這是怎麼回事?我覺得這可能是一個錯誤,但我對熊貓還是比較陌生的,不能確定。

回答

2

可能你需要一些括號

mask = (feature_series > 10) | (feature_series < 10) 
+0

和失蹤括號再一次是罪魁禍首。謝謝! – lstyls