Как вы находите IQR в Numpy?

Есть ли испеченная функция Numpy / Scipy для поиска межквартильного диапазона? Я могу сделать это довольно легко сам, но существует mean() существует, что в основном sum/len

 def IQR(dist): return np.percentile(dist, 75) - np.percentile(dist, 25) 

  • Преобразование смешанного формата .DAT в .CSV (или что-то еще)
  • Есть ли способ программно прочитать файл с диска TrueCrypt в память?
  • подсчет символов и строк из файла python 2.7
  • Формат декомпрессии Python
  • Как подключить программу Python и C?
  • Вход в LinkedIn с сеансами запросов python
  • Почему динамическое добавление метода `__call__` к экземпляру не работает?
  • Установка только одного параметра функции со многими параметрами в python
  • 2 Solutions collect form web for “Как вы находите IQR в Numpy?”

    np.percentile принимает несколько аргументов процентиля, и вам немного лучше делать:

     q75, q25 = np.percentile(x, [75 ,25]) iqr = q75 - q25 

    или

     iqr = np.subtract(*np.percentile(x, [75, 25])) 

    чем два обращения к percentile :

     In [8]: x = np.random.rand(1e6) In [9]: %timeit q75, q25 = np.percentile(x, [75 ,25]); iqr = q75 - q25 10 loops, best of 3: 24.2 ms per loop In [10]: %timeit iqr = np.subtract(*np.percentile(x, [75, 25])) 10 loops, best of 3: 24.2 ms per loop In [11]: %timeit iqr = np.percentile(x, 75) - np.percentile(x, 25) 10 loops, best of 3: 33.7 ms per loop 

    В iqr теперь есть функция scipy.stats . Он доступен как scipy 0.18.0. Мое первоначальное намерение состояло в том, чтобы добавить его в numpy, но он считался слишком специфичным для домена.

    Вам может быть лучше, просто используя ответ Хайме, поскольку scipy-код – это просто сложная версия.

    Python - лучший язык программирования в мире.