Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

482
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda