Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

491
Views
Función numpy para obtener el cuantil que corresponde a un valor dado

Veo muchas preguntas como esta para R, pero no pude encontrar una específicamente para Python, preferiblemente usando numpy.

Digamos que tengo una matriz de observaciones almacenadas en x . Puedo obtener el valor q * 100 por ciento de la población.

 # Import numpy import numpy as np # Get 75th percentile np.quantile(a=x, q=0.75)

Sin embargo, me preguntaba si hay una función que hace lo contrario. Es decir, una función numérica que toma un valor como entrada y devuelve q .

Para ampliar aún más esto, los objetos de distribución de scipy tienen un método ppf que me permite hacer esto. Estoy buscando algo similar en numpy. ¿Existe?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

No es una función preparada, sino un fragmento compacto y razonablemente rápido:

 (a<value).mean()

Puede (al menos en mi máquina) obtener un rendimiento un poco mejor usando np.count_nonzero

 np.count_nonzero(a<value) / a.size

pero tbh ni siquiera me molestaría.

over 4 years ago · Santiago Trujillo Report

0

Hay una función de conveniencia que hace esto. Tenga en cuenta que no es un inverso exacto porque las funciones de quantile / percentile no son exactas. Dada una matriz finita de observaciones, los percentiles tendrán valores discretos; en otras palabras, puede estar especificando una q que se encuentre entre esos valores y las funciones encuentren la más cercana.

 from scipy import stats import numpy as np stats.percentileofscore(np.arange(0,1,0.12), .65, 'weak') / 100
over 4 years ago · Santiago Trujillo Report

0

Si se ordena x , el valor en el índice i es el percentil i / len(x) (más o menos, dependiendo de cómo desee tratar las condiciones de contorno). Si x no está ordenado, puede obtener el mismo valor sustituyendo x.argsort().argsort()[i] por i (o simplemente ordenando x primero). Dado que argsort es su propio inverso, el doble argsort le dice dónde caería cada elemento del original en la matriz ordenada.

Si desea encontrar el resultado de valores arbitrarios no necesariamente en x , puede aplicar np.searchsorted a una versión ordenada de x e interpolar el resultado. Puede usar un método más complicado, como ajustar una spline a los datos ordenados o algo similar.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!