Как я могу получить строки, которые представляют выбросы для столбца?

#python #pandas #numpy #jupyter-notebook #data-analysis

Вопрос:

Сначала мне нужно было создать функцию, которая возвращает True, когда z-оценка ниже -3 или больше 3, и False в противном случае. Затем примените эту функцию к фрейму данных. Но теперь я хочу показать строки, в которых представлены выбросы для подмножества столбцов stand_Gross.SqFt. , передав серию выбросов. Как мне это сделать? Все, что я пробовал, предназначено для числовых, и это строковая функция (true/false).

 def zscore (x):  if (x gt; 3):  return 'True'  elif (x lt; -3):  return 'True'  else :  return 'False'  

применение функции к фрейму данных:

 housing['stand_Gross.SqFt'].apply(zscore)  

Ответ №1:

вы не хотите делать «применить», так как вы замедляете свой код

начнем с

 housing['is_outlier'] = housing['stand_Gross.SqFt'] gt; 3 # print outliers print(housing[housing['is_outlier']])  

вы, конечно, можете просто пропустить первый шаг

 outliers = housing[housing['stand_Gross.SqFt'] gt; 3] print(outliers)  

Комментарии:

1. нет, но мне нужно использовать функцию apply в коде. Также, какой будет финальная серия выбросов ?

2. Но теперь я хочу показать строки, в которых представлены выбросы для столбца stand_Gross.SqFt. подмножество, передав серию выбросов.