Этот пост и этот пост помогли мне понять это.
Итак, если у вас есть [7, 15, 36, 39, 40, 41], тогда 7 -> 0%, 15 -> 20%, 36 -> 40%, 39 -> 60%, 40 -> 80%, 41 -> 100%.
По умолчанию interpolation
является линейным , Таким образом, он использует i + (j - i) * дробь. Вы можете установить интерполяцию на среднюю точку, которая вычисляет (i + j) / 2.
import numpy as np
data=np.array([7,15,36,39,40,41])
linear = np.percentile(data, [25, 50, 75], interpolation='linear')
mid = np.percentile(data, [25, 50, 75], interpolation='midpoint')
low = np.percentile(data, [25, 50, 75], interpolation='lower')
high = np.percentile(data, [25, 50, 75], interpolation='higher')
nearest = np.percentile(data, [25, 50, 75], interpolation='nearest')
print(linear,mid,low,high,nearest)
print(15,37.5,40)
Выход:
Так что я обнаружил, что нет точного способа найти Q1 и Q3 в Pandas / Numpy как TI-nspire.