Calcular percentil em Python
-
Calcule o percentil em Python usando o pacote
scipy
-
Calcule o percentil em Python usando o pacote
NumPy
-
Calcule o percentil em Python usando o pacote
matemática
-
Calcule o percentil em Python usando o pacote
estatísticas
- Calcule o percentil em Python usando o método de interpolação linear do NumPy
- Calcule o percentil em Python usando o método de interpolação inferior do NumPy
- Calcule o percentil em Python usando o método de interpolação superior do NumPy
- Calcule o percentil em Python usando o método de interpolação de ponto médio do NumPy
Os percentis indicam a porcentagem de pontuações que ficam abaixo de um determinado valor. Um indivíduo com QI de 120, por exemplo, está no percentil 91, o que significa que seu QI é maior do que 91% das outras pessoas.
Este artigo irá discutir alguns métodos para calcular percentil em Python.
Calcule o percentil em Python usando o pacote scipy
Este pacote calculará a pontuação da série de entrada em um determinado percentil. A sintaxe da função scoreatpercentile()
é fornecida abaixo:
scipy.stats.scoreatpercentile(a, per, limit=(), interpolation_method='fraction', axis=None)
Na função scoreatpercentile()
, o parâmetro a
representa un array 1-D e por
especifica o percentil que varia de 0 a 100. Os outros dois parâmetros são opcionais. A biblioteca NumPy
é usada para obter os números sobre os quais calculamos o percentil.
O código de exemplo completo é fornecido abaixo.
from scipy import stats
import numpy as np
array = np.arange(100)
percentile=stats.scoreatpercentile(array, 50)
print("The percentile is:",percentile)
Resultado:
The percentile is: 49.5
Calcule o percentil em Python usando o pacote NumPy
Este pacote possui uma função percentil()
que calculará o percentil de determinado array. A sintaxe da função percentile()
é fornecida abaixo.
numpy.percentile(a, q, axis=None, out=None, overwrite_input=False, interpolation='linear', keepdims=False)
O parâmetro q
representa o número do cálculo do percentil. a
representa un array, enquanto os outros parâmetros são opcionais.
O código de exemplo completo é fornecido abaixo.
import numpy as np
arry = np.array([4,6,8,10,12])
percentile = np.percentile(arry, 50)
print("The percentile is:",percentile)
Resultado:
The percentile is: 8.0
Calcule o percentil em Python usando o pacote matemática
O pacote matemático
com a sua função básica - ceil
pode ser usado para calcular diferentes percentis.
O código de exemplo completo é fornecido abaixo.
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)
O math.ceil(x)
arredonda o valor e retorna o menor inteiro maior ou igual a x
, enquanto a função ordenada
ordena a matriz.
Resultado:
The 25th percentile is: 3
The 50th percentile is: 5
The 75th percentile is: 8
Calcule o percentil em Python usando o pacote estatísticas
A função quantiles()
no pacote statistics
é usada para quebrar os dados em probabilidades iguais e retornar uma lista de distribuição de n-1
. A sintaxe desta função é fornecida a seguir.
statistics.quantiles(data, *, n=4, method='exclusive')
O código de exemplo completo é fornecido abaixo.
from statistics import quantiles
data =[1,2,3,4,5]
percentle=quantiles(data, n=4)
print("The Percentile is:",percentle)
Resultado:
The Percentile is: [1.5, 3.0, 4.5]
Calcule o percentil em Python usando o método de interpolação linear do NumPy
Podemos calcular diferentes percentis usando o modo de interpolação. Os modos de interpolação são linear
, inferior
, superior
, ponto médio
e mais próximo
. Essas interpolações são usadas quando os percentis estão entre dois pontos de dados, i
e j
. Quando o valor do percentil é i
, é o modo de interpolação inferior, j
representa o modo de interpolação superior e i + (j - i) * fração
representa o modo linear onde fração
indica o índice rodeado por i
E j
.
O código de exemplo completo para o modo de interpolação linear é fornecido abaixo.
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 a função numpy.percentile()
com o parâmetro adicional interpolação
. Você pode ver que obtemos valores flutuantes para esta interpolação.
Resultado:
percentiles using interpolation = linear
percentile_10 = 1.9 , median = 5.5 and percentile_75 = 7.75
Calcule o percentil em Python usando o método de interpolação inferior do NumPy
O código de exemplo completo para o modo de interpolação inferior é fornecido abaixo.
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)
Resultado:
percentiles using interpolation = lower
percentile_10 = 1 , median = 5 and percentile_75 = 7
Você pode ver que o percentil final é desviado para o valor mais baixo.
Calcule o percentil em Python usando o método de interpolação superior do NumPy
Este método fornecerá percentis do array fornecida ao maior valor de arredondamento.
O código de exemplo completo para modo de interpolação superior é fornecido abaixo.
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)
Resultado:
percentiles using interpolation = higher
percentile_10 = 2 , median = 6 and percentile_75 = 8
Calcule o percentil em Python usando o método de interpolação de ponto médio do NumPy
Este método fornecerá pontos médios dos valores percentuais.
O código de exemplo completo para o modo de interpolação de ponto médio é fornecido abaixo.
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)
Resultado:
percentiles using interpolation = midpoint
percentile_10 = 1.5 , median = 5.5 and percentile_75 = 7.5