Я работаю с данными, которые выглядят как DataFrame, описанный
df = pd.DataFrame({'AAA': [1,1,1,2,2,2,3,3], 'BBB': [2,1,3,4,6,1,2,3]})
Что я хотел бы сделать, так это установить значение округления (90%), если значение превышает 90-й процентиль. Так что это похоже на ограничение максимума до 90-го процентиля.
Это становится все сложнее для меня, так как каждый столбец будет иметь разное значение процентиля.
Я могу получить значение 90-го процентиля, используя:
df.describe(percentiles=[.9])
Таким образом, для столбца BBB 6 больше, чем 4,60 (90-й процентиль), поэтому его необходимо изменить на 5 (округление 4,60).
В моей реальной проблеме я делаю это для большой матрицы, поэтому я хотел бы знать, есть ли какое-либо простое решение для этого, вместо того, чтобы сначала создавать массив столбцов 90-го процентиля, а затем проверять элементы для столбца и устанавливать эти округлить до 90-го процентиля.