Trim Series / DataFrame на основе квантильных значений - PullRequest
2 голосов
/ 08 октября 2019

Есть ли в пандах мртод, чтобы обрезать Series/DataFrame на основе значений квантиля?

Например, если у меня есть ser=pd.Series([1,2,3,4,5,6,7,8])

, как я могу получить серию, в которойданные между 0.27>Data>0.82 оригинала ser?

1 Ответ

3 голосов
/ 08 октября 2019

Я думаю, вам нужно Series.between с Series.quantile:

a = ser.quantile([0.27, 0.82])
print (a)
0.27    2.89
0.82    6.74
dtype: float64

s,e = a
out = ser[ser.between(s, e, inclusive=False)]
print (out)
2    3
3    4
4    5
5    6
dtype: int64

Или:

out = ser[ser.between(ser.quantile(0.27), 
                      ser.quantile(0.82), inclusive=False)]
...