У меня есть df, который содержит следующие переменные:
(а также множество других вещей).
Я хочу обрезать выбросы на основе критерия iqr. Однако я хочу сделать это по условию, за стр.
Я полагаю, решение начнется с
grouped = df.groupby(['pp','condition'])
но что потом? Как удалить выбросы по группе? Я использую функцию применения или мне помогает функция фильтра?
Вы можете сделать что-то вроде этого:
# define a function to filter out your data
def filter_condition(grped_df):
if some_condition:
return grped_df[some_condition]
return grped_df
grouped = df.groupby(by=['pp','condition'])
# use apply to pass each group to your defined function and reset index to remove grouped multi index.
filtered_df = grouped.apply(filter_condition).reset_index(drop=True)
Да, это сработало. Спасибо за совет!
предоставить образцы данных вместе с ожидаемым результатом