Я хотел бы вычислить среднее значение для каждого столбца, но учитывать только значения, находящиеся в пределах квантиля, например только 20–80 %.
Вот почему я это сделал, но не завершил
df=pd.DataFrame({"A":[1,1,20,2,2,3,50,7,8,15,20,35,50,70],"B":[10,100,20,20,200,30,50,70,80,150,200,350,500,700]})
df
A B
0 1 10
1 1 100
2 20 20
3 2 20
4 2 200
5 3 30
6 50 50
7 7 70
8 8 80
9 15 150
10 20 200
11 35 350
12 50 500
13 70 70
then find q20 and 180 for each column using np.quantile()
q20=np.quantile(df,0.2,axis=0)
q20
array([ 2., 26.])
q80=np.quantile(df,0.8,axis=0)
q80
array([ 41., 260.])
Теперь, как мне отфильтровать значения между q20 и q80 для каждого столбца?
Я делаю это ниже, но получаю ошибку
mask=(a>q20)&(a
Подробнее здесь: https://stackoverflow.com/questions/776 ... f-quantile