Учебники

NumPy – Статистические функции

NumPy имеет довольно много полезных статистических функций для нахождения минимального, максимального, процентильного стандартного отклонения и дисперсии и т. Д. Из заданных элементов в массиве. Функции объясняются следующим образом:

numpy.amin () и numpy.amax ()

Эти функции возвращают минимум и максимум из элементов данного массива вдоль указанной оси.

пример

Live Demo

import numpy as np 
a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 

print 'Our array is:' 
print a  
print '\n'  

print 'Applying amin() function:' 
print np.amin(a,1) 
print '\n'  

print 'Applying amin() function again:' 
print np.amin(a,0) 
print '\n'  

print 'Applying amax() function:' 
print np.amax(a) 
print '\n'  

print 'Applying amax() function again:' 
print np.amax(a, axis = 0)

Это даст следующий результат –

Our array is:
[[3 7 5]
[8 4 3]
[2 4 9]]

Applying amin() function:
[3 3 2]

Applying amin() function again:
[2 4 3]

Applying amax() function:
9

Applying amax() function again:
[8 7 9]

numpy.ptp ()

Функция numpy.ptp () возвращает диапазон (максимум-минимум) значений вдоль оси.

Live Demo

import numpy as np 
a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 

print 'Our array is:' 
print a 
print '\n'  

print 'Applying ptp() function:' 
print np.ptp(a) 
print '\n'  

print 'Applying ptp() function along axis 1:' 
print np.ptp(a, axis = 1) 
print '\n'   

print 'Applying ptp() function along axis 0:'
print np.ptp(a, axis = 0) 

Это даст следующий результат –

Our array is:
[[3 7 5]
[8 4 3]
[2 4 9]]

Applying ptp() function:
7

Applying ptp() function along axis 1:
[4 5 7]

Applying ptp() function along axis 0:
[6 3 6]

numpy.percentile ()

Процентиль (или процентиль) – это показатель, используемый в статистике, показывающий значение, ниже которого падает определенный процент наблюдений в группе наблюдений. Функция numpy.percentile () принимает следующие аргументы.

numpy.percentile(a, q, axis)

Куда,

Sr.No. Аргумент и описание
1

Входной массив

2

Q

Процент для вычисления должен быть между 0-100

3

ось

Ось, по которой рассчитывается процентиль

Входной массив

Q

Процент для вычисления должен быть между 0-100

ось

Ось, по которой рассчитывается процентиль

пример

Live Demo

import numpy as np 
a = np.array([[30,40,70],[80,20,10],[50,90,60]]) 

print 'Our array is:' 
print a 
print '\n'  

print 'Applying percentile() function:' 
print np.percentile(a,50) 
print '\n'  

print 'Applying percentile() function along axis 1:' 
print np.percentile(a,50, axis = 1) 
print '\n'  

print 'Applying percentile() function along axis 0:' 
print np.percentile(a,50, axis = 0)

Это даст следующий результат –

Our array is:
[[30 40 70]
 [80 20 10]
 [50 90 60]]

Applying percentile() function:
50.0

Applying percentile() function along axis 1:
[ 40. 20. 60.]

Applying percentile() function along axis 0:
[ 50. 40. 60.]

numpy.median ()

Медиана определяется как значение, отделяющее верхнюю половину выборки данных от нижней. Функция numpy.median () используется, как показано в следующей программе.

пример

Live Demo

import numpy as np 
a = np.array([[30,65,70],[80,95,10],[50,90,60]]) 

print 'Our array is:' 
print a 
print '\n'  

print 'Applying median() function:' 
print np.median(a) 
print '\n'  

print 'Applying median() function along axis 0:' 
print np.median(a, axis = 0) 
print '\n'  
 
print 'Applying median() function along axis 1:' 
print np.median(a, axis = 1)

Это даст следующий результат –

Our array is:
[[30 65 70]
 [80 95 10]
 [50 90 60]]

Applying median() function:
65.0

Applying median() function along axis 0:
[ 50. 90. 60.]

Applying median() function along axis 1:
[ 65. 80. 60.]

numpy.mean ()

Среднее арифметическое – это сумма элементов вдоль оси, деленная на количество элементов. Функция numpy.mean () возвращает среднее арифметическое значений элементов в массиве. Если ось упоминается, она рассчитывается вдоль нее.

пример

Live Demo

import numpy as np 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 

print 'Our array is:' 
print a 
print '\n'  

print 'Applying mean() function:' 
print np.mean(a) 
print '\n'  

print 'Applying mean() function along axis 0:' 
print np.mean(a, axis = 0) 
print '\n'  

print 'Applying mean() function along axis 1:' 
print np.mean(a, axis = 1)

Это даст следующий результат –

Our array is:
[[1 2 3]
 [3 4 5]
 [4 5 6]]

Applying mean() function:
3.66666666667

Applying mean() function along axis 0:
[ 2.66666667 3.66666667 4.66666667]

Applying mean() function along axis 1:
[ 2. 4. 5.]

numpy.average ()

Средневзвешенное значение – это среднее значение, полученное в результате умножения каждого компонента на коэффициент, отражающий его важность. Функция numpy.average () вычисляет средневзвешенное значение элементов в массиве в соответствии с их весом, заданным в другом массиве. Функция может иметь параметр оси. Если ось не указана, массив выравнивается.

С учетом массива [1,2,3,4] и соответствующих весов [4,3,2,1] средневзвешенное значение рассчитывается путем сложения произведения соответствующих элементов и деления суммы на сумму весов.

Средневзвешенное значение = (1 * 4 + 2 * 3 + 3 * 2 + 4 * 1) / (4 + 3 + 2 + 1)

пример

Live Demo

import numpy as np 
a = np.array([1,2,3,4]) 

print 'Our array is:' 
print a 
print '\n'  

print 'Applying average() function:' 
print np.average(a) 
print '\n'  

# this is same as mean when weight is not specified 
wts = np.array([4,3,2,1]) 

print 'Applying average() function again:' 
print np.average(a,weights = wts) 
print '\n'  

# Returns the sum of weights, if the returned parameter is set to True. 
print 'Sum of weights' 
print np.average([1,2,3, 4],weights = [4,3,2,1], returned = True)

Это даст следующий результат –

Our array is:
[1 2 3 4]

Applying average() function:
2.5

Applying average() function again:
2.0

Sum of weights
(2.0, 10.0)

В многомерном массиве можно указать ось для вычисления.

пример

Live Demo

import numpy as np 
a = np.arange(6).reshape(3,2) 

print 'Our array is:' 
print a 
print '\n'  

print 'Modified array:' 
wt = np.array([3,5]) 
print np.average(a, axis = 1, weights = wt) 
print '\n'  

print 'Modified array:' 
print np.average(a, axis = 1, weights = wt, returned = True)

Это даст следующий результат –

Our array is:
[[0 1]
 [2 3]
 [4 5]]

Modified array:
[ 0.625 2.625 4.625]

Modified array:
(array([ 0.625, 2.625, 4.625]), array([ 8., 8., 8.]))

Стандартное отклонение

Стандартное отклонение – это квадратный корень из среднего квадрата отклонений от среднего. Формула для стандартного отклонения выглядит следующим образом:

std = sqrt(mean(abs(x - x.mean())**2))

Если массив [1, 2, 3, 4], то его среднее значение равно 2,5. Следовательно, квадратичные отклонения составляют [2,25, 0,25, 0,25, 2,25], а квадратный корень из его среднего значения делится на 4, т. Е. Sqrt (5/4) составляет 1.1180339887498949.

пример

Live Demo

import numpy as np 
print np.std([1,2,3,4])

Это даст следующий результат –

1.1180339887498949 

отклонение

Дисперсия – это среднее квадратов отклонений, т. Е. Среднее (abs (x – x.mean ()) ** 2) . Другими словами, стандартное отклонение является квадратным корнем дисперсии.

пример

Live Demo

import numpy as np 
print np.var([1,2,3,4])

Это даст следующий результат –