понедельник, 28 ноября 2011 г.

Квантиль/Персентиль в python-scipy

Задача: Получить значения p-квантиля данного массива
Методы решения: python, scipy, numpy

Значения квантиля (в зарубежных источниках чаще употребляется родственный "персентиль" ) легко определить через модуль Питона (Python) SciPy. Перейдём сразу к программе:

! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import scipy.stats as st
import numpy as np

head = 0
tail  = 100
step = 1

# Через модуль numpy создаем массив x.
# Массив x длины nx будет содержать значения от head до tail c шагом step.

x = np.arange(head,tail,step)

nx = len(x)
print 'Массив x длины', nx

percent = 99 # Задаём значение процентов*
p99 = st.scoreatpercentile(x,percent) # Вычисляем персентиль
print p99 
! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Главное здесь - функция из модуля scipy.stats: 
scipy.stats.scoreatpercentile(array,percent).
Существует обратная ей функция - по заданному числу найти процент:
scipy.stats.percentileofscore(array, value)
Справку по этим (и не только) функциям можно найти здесь: scipy.stats.percentile help





Комментариев нет:

Отправить комментарий

Как перевести UV в направление и скорость ветра? How to convert wind UV-components to direction and velocity?

 Всё просто.  def uv2dir(u, v):     '''     Источник:     https://github.com/blaylockbk/Ute_WRF/blob/master/functions/wind_calc...