#pandas #numpy #bigdata #data-science
Вопрос:
У меня есть данные , на основе которых я анализирую IQR
, на основе результата, который я хотел бы удалить, данные, которые находятся выше верхней точки boxplot
То, что мне удалось найти, — это код
df.loc[(data['Test1'] < 52)]
Вместо числа 52 я хотел бы, чтобы была переменная
Например upper
, что имеет значение
Я ищу что-то, что будет лучше, чем df.drop
или df.loc
import numpy as np
import pandas as pd
#create data frame
data = pd.read_excel(r'C:Users\PulpitLiveA8EEC900.xlsx')
df = pd.DataFrame(data, columns = ['Test1'])
q1 = np.round(df.quantile(0.25), 2)
q3 = np.round(df.quantile(0.75), 2)
iqr = np.round(q3 - q1, 2)
upper = q3 (1.5 * iqr)
lower = q1 - (1.5 * iqr)
min_value = np.round(df.min(), 2)
dt = df.loc[(data['Test1'] < 52)]
Комментарии:
1. Можете ли вы привести пример данных, которые позволят воспроизвести ваш код?
2. Я тоже не совсем понимаю этот вопрос. Кстати, вы можете просто заменить 52 на верхний в своем фрагменте кода, как он написан.
3. Разве вы не можете просто использовать
upper
переменную вместо 52?4. @Ошибка AdityaValue : Может сравнивать объекты серии с одинаковыми метками