Calcular percentil en Python
-
Calcule el percentil en Python usando el paquete
scipy
-
Calcule el percentil en Python usando el paquete
NumPy
-
Calcule el percentil en Python usando el paquete
math
-
Calcule el percentil en Python usando el paquete
statistics
- Calcule el percentil en Python usando el método de interpolación lineal de NumPy
- Calcule el percentil en Python usando el método de interpolación inferior de NumPy
- Calcule el percentil en Python usando el método de interpolación superior de NumPy
- Calcule el percentil en Python usando el método de interpolación de punto medio de NumPy
Los percentiles indican el porcentaje de puntuaciones que caen por debajo de cierto valor. Un individuo con un coeficiente intelectual de 120, por ejemplo, se encuentra en el percentil 91, lo que significa que su coeficiente intelectual es mayor que el 91% de otras personas.
Este artículo discutirá algunos métodos para calcular el percentil en Python.
Calcule el percentil en Python usando el paquete scipy
Este paquete calculará la puntuación de la serie de entrada en un percentil determinado. La sintaxis de la función scoreatpercentile()
se da a continuación:
scipy.stats.scoreatpercentile(
a, per, limit=(), interpolation_method="fraction", axis=None
)
En la función scoreatpercentile()
, el parámetro a
representa un array 1-D, y per
especifica el percentil que va de 0 a 100. Los otros dos parámetros son opcionales. La biblioteca NumPy
se utiliza para obtener los números sobre los que calculamos el percentil.
El código de ejemplo completo se proporciona a continuación.
from scipy import stats
import numpy as np
array = np.arange(100)
percentile = stats.scoreatpercentile(array, 50)
print("The percentile is:", percentile)
Producción :
The percentile is: 49.5
Calcule el percentil en Python usando el paquete NumPy
Este paquete tiene una función percentile()
que calculará el percentil de un array dada. La sintaxis de la función percentile()
se da a continuación.
numpy.percentile(
a,
q,
axis=None,
out=None,
overwrite_input=False,
interpolation="linear",
keepdims=False,
)
El parámetro q
representa el número de cálculo del percentil. a
representa un array, mientras que los demás parámetros son opcionales.
El código de ejemplo completo se proporciona a continuación.
import numpy as np
arry = np.array([4, 6, 8, 10, 12])
percentile = np.percentile(arry, 50)
print("The percentile is:", percentile)
Producción :
The percentile is: 8.0
Calcule el percentil en Python usando el paquete math
El paquete math
con su función básica - ceil
se puede utilizar para calcular diferentes percentiles.
El código de ejemplo completo se proporciona a continuación.
import math
arry = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def calculate_percentile(arry, percentile):
size = len(arry)
return sorted(arry)[int(math.ceil((size * percentile) / 100)) - 1]
percentile_25 = calculate_percentile(arry, 25)
percentile_50 = calculate_percentile(arry, 50)
percentile_75 = calculate_percentile(arry, 75)
print("The 25th percentile is:", percentile_25)
print("The 50th percentile is:", percentile_50)
print("The 75th percentile is:", percentile_75)
El math.ceil(x)
redondea el valor y devuelve el número entero más pequeño mayor o igual que x
, mientras que la función sorted
ordena el array.
Producción :
The 25th percentile is: 3
The 50th percentile is: 5
The 75th percentile is: 8
Calcule el percentil en Python usando el paquete statistics
La función quantiles()
en el paquete de statistics
se utiliza para dividir los datos en probabilidades iguales y devolver una lista de distribución de n-1
. La sintaxis de esta función se da a continuación.
statistics.quantiles(data, *, n=4, method='exclusive')
El código de ejemplo completo se proporciona a continuación.
from statistics import quantiles
data = [1, 2, 3, 4, 5]
percentle = quantiles(data, n=4)
print("The Percentile is:", percentle)
Producción :
The Percentile is: [1.5, 3.0, 4.5]
Calcule el percentil en Python usando el método de interpolación lineal de NumPy
Podemos calcular diferentes percentiles usando el modo de interpolación. Los modos de interpolación son linear
, lower
, higher
, midpoint
y nearest
. Estas interpolaciones se utilizan cuando los percentiles se encuentran entre dos puntos de datos, i
y j
. Cuando el valor del percentil es i
, es el modo de interpolación inferior, j
representa el modo de interpolación superior y i + (j - i) * fraction
representa el modo lineal donde fraction
indica el índice rodeado por i
Y j
.
El código de ejemplo completo para el modo de interpolación lineal se proporciona a continuación.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "linear")
percentile_10 = np.percentile(arry, 10, interpolation="linear")
percentile_50 = np.percentile(arry, 50, interpolation="linear")
percentile_75 = np.percentile(arry, 75, interpolation="linear")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Usamos la función numpy.percentile()
con el parámetro adicional interpolation
. Puede ver que obtenemos valores float para esta interpolación.
Producción :
percentiles using interpolation = linear
percentile_10 = 1.9 , median = 5.5 and percentile_75 = 7.75
Calcule el percentil en Python usando el método de interpolación inferior de NumPy
El código de ejemplo completo para el modo de interpolación inferior se proporciona a continuación.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "lower")
percentile_10 = np.percentile(arry, 10, interpolation="lower")
percentile_50 = np.percentile(arry, 50, interpolation="lower")
percentile_75 = np.percentile(arry, 75, interpolation="lower")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Producción :
percentiles using interpolation = lower
percentile_10 = 1 , median = 5 and percentile_75 = 7
Puede ver que el percentil final se desvía al valor más bajo.
Calcule el percentil en Python usando el método de interpolación superior de NumPy
Este método dará percentiles del array dado dada al valor de redondeo más alto.
El código de ejemplo completo para el modo de interpolación superior se proporciona a continuación.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "higher")
percentile_10 = np.percentile(arry, 10, interpolation="higher")
percentile_50 = np.percentile(arry, 50, interpolation="higher")
percentile_75 = np.percentile(arry, 75, interpolation="higher")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Producción :
percentiles using interpolation = higher
percentile_10 = 2 , median = 6 and percentile_75 = 8
Calcule el percentil en Python usando el método de interpolación de punto medio de NumPy
Este método dará los puntos medios de los valores percentiles.
El código de ejemplo completo para el modo de interpolación de punto medio se proporciona a continuación.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "midpoint")
percentile_10 = np.percentile(arry, 10, interpolation="midpoint")
percentile_50 = np.percentile(arry, 50, interpolation="midpoint")
percentile_75 = np.percentile(arry, 75, interpolation="midpoint")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Producción :
percentiles using interpolation = midpoint
percentile_10 = 1.5 , median = 5.5 and percentile_75 = 7.5
Artículo relacionado - Python Math
- Calcular el factorial en Python
- Calcular el inverso del coseno en Python
- Calcular el inverso multiplicativo modular en Python
- Ajuste la distribución de Poisson a diferentes conjuntos de datos en Python
- Definir un valor infinito en Python
- Detectar y eliminar valores atípicos en Python