2013-12-09 2 views
1

Я работаю с очень большой серией данных по поплавкам в Pandas 12.0. То, что я пытаюсь сделать, это установить экстремальные выбросы для NaN в этой серии, которая представляет собой стандартизованный вектор признаков (среднее значение равно 0, std равно 1).Взрыв памяти с булевым индексированием в Pandas

У меня нет никаких проблем, делая булеву маску вектора признаков, чтобы найти экстремальные выбросы:

mask = feature_series > 10 | feature_series < 10 

Это занимает минимальное количество ресурсов. Однако, когда я пытаюсь использовать эту маску, я получаю взрыв памяти и вынужден принудительно выходить из нее до сбоя. Это происходит с:

feature_series[mask] = np.nan 

Это не ограничивается этой операцией. Я также получаю взрыв памяти с:

mask.any() 

Что это значит? Я чувствую, что это может быть ошибка, но я все еще относительно новичок в Pandas и не могу быть уверен.

ответ

2

вероятно вам нужны круглые скобки

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

И недостающие скобки снова виновником. Спасибо! – lstyls