Я хотел бы обрезать значения DataFrame в пределах их интеркантильного диапазона, чтобы:
- Если фактическое значение выше, чем его 75-й процентиль, то по умолчанию будет значение 75-го процентиля
- Если фактическое значение меньше 25-го процентиля, по умолчанию используется значение 25-го процентиля.
- Если значение находится в диапазоне от 25-го до 75-го процентиля, оно будет тем же значением.
Есть ли способ сделать это для всех столбцов за один раз (т.е. A max становится 3, B и C max становится 2,25)
test = pd.DataFrame({'A':[1,2,3,1,2,3,1,1,2,3,1,12],
'B':[0,1,2,1,0,1,3,1,2,1,3,9],
'C':[0,1,2,2,1,2,3,1,2,1,4,17]})
test.describe()
A B C
25% 1.000000 1.000000 1.000000
75% 3.000000 2.250000 2.250000
max 12.000000 9.000000 17.000000