Как удалить выброс из DataFrame с помощью IQR?

У меня есть датафрейм с большим количеством столбцов (около 100), я хочу применить метод межквартильного разметки и хотел удалить выброс из фрейма данных.

Я использую эту ссылку stackOverflow

Но проблема в том, что вышеприведенный метод работает правильно,

Пока я так пытаюсь

Q1 = stepframe.quantile(0.25)
Q3 = stepframe.quantile(0.75)
IQR = Q3 - Q1
((stepframe < (Q1 - 1.5 * IQR)) | (stepframe > (Q3 + 1.5 * IQR))).sum()

это дает мне это

((stepframe < (Q1 - 1.5 * IQR)) | (stepframe > (Q3 + 1.5 * IQR))).sum()
Out[35]: 
Day                      0
Col1                     0
Col2                     0
col3                     0
Col4                     0
Step_Count            1179
dtype: int64

Я просто хотел знать, что я буду делать дальше, чтобы все выбросы из фрейма данных были удалены.

если я использую это

def remove_outlier(df_in, col_name):
q1 = df_in[col_name].quantile(0.25)
q3 = df_in[col_name].quantile(0.75)
iqr = q3-q1 #Interquartile range
fence_low  = q1-1.5*iqr
fence_high = q3+1.5*iqr
df_out = df_in.loc[(df_in[col_name] > fence_low) & (df_in[col_name] < fence_high)]
return df_out

re_dat = remove_outlier(stepframe, stepframe.columns)

Я получаю эту ошибку

ValueError: Cannot index with multidimensional key

в этой строке

    df_out = df_in.loc[(df_in[col_name] > fence_low) & (df_in[col_name] < fence_high)]
4 голоса | спросил Imran Ahmad Ghazali 22 Mayam18 2018, 09:42:49

1 ответ


0
Вы можете использовать:Детали :Сначала создайте ---- +: = 1 =: + ---- с цепочкой по ---- +: = 2 =: + ---- :А затем используйте ---- +: = 4 =: + ---- для проверки хотя бы одной ---- +: = 5 =: + ---- для каждой строки и последней инвертированной логической маски с помощью ----+: = 6 =: + ---- :---- +: = 8 =: + ---- решение с измененными условиями - ---- +: = 9 =: + ---- to ---- +: = 10 =: + ---- и ---- +: = 11 =: + ---- к ---- +: = 12 =: + ---- , цепочка ---- +: = 13 =: + ---- для AND и последнего фильтра по ---- +: = 14 =: + ---- для проверки всех ---- +: = 15 =: + ---- s для строк
ответил jezrael 22 Mayam18 2018, 10:19:11

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132