tutorial index from example create correlaciones python pandas statistics quantile

index - Python Pandas-cálculo cuantil manualmente



pandas python (1)

Estoy intentando calcular el cuantil para los valores de una columna manualmente, pero no puedo encontrar el valor de cuantil correcto manualmente usando la fórmula en comparación con la salida del resultado de Pandas. Busqué diferentes soluciones, pero no encontré la respuesta correcta

In [54]: df Out[54]: data1 data2 key1 key2 0 -0.204708 1.393406 a one 1 0.478943 0.092908 a two 2 1.965781 1.246435 a one In [55]: grouped = df.groupby(''key1'') In [56]: grouped[''data1''].quantile(0.9) Out[56]: key1 a 1.668413

usando la fórmula para encontrarlo manualmente, n es 3 ya que hay 3 valores en la columna data1

quantile(n+1)

aplicando los valores de la columna df1

=0.9(n+1) =0.9(4) = 3.6

entonces, la posición 3.6 es 1.965781, entonces, ¿cómo da pandas 1.668413?


La función quantile asignará porcentajes basados ​​en el rango de sus datos.

En tu caso:

  • -0.204708 se consideraría el percentil 0,
  • 0.478943 se consideraría el percentil 50 y
  • 1,965781 se consideraría el percentil 100.

De modo que podría calcular el percentil 90 de la siguiente manera (utilizando la interpolación lineal entre el percentil 50 y el percentil 100):

>>import numpy as np >>x =np.array([-0.204708,1.965781,0.478943]) >>ninetieth_percentile = (x[1] - x[2])/0.5*0.4+x[2] >>ninetieth_percentile 1.6684133999999999

Tenga en cuenta que los valores 0.5 y 0.4 provienen del hecho de que dos puntos de sus datos abarcan el 50% de los datos y 0.4 representa la cantidad por encima del 50% que desea encontrar (0.5 + 0.4 = 0.9). Espero que esto tenga sentido.