English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NumPy 통계 함수

Numpy 교육

numpy.amin()와 numpy.amax()
numpy.amax()는 배열의 지정된 축에 대해 최대 값을 계산합니다.

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]) 
 print('귀하의 배열은:', a)
 print('amin() 함수 호출:', np.amin(a,1))
 print('다시 amin() 함수 호출:', np.amin(a, 0))
 print('amax() 함수 호출:', np.amax(a))
 print('다시 amax() 함수 호출:', np.amax(a, axis=0))

출력 결과는 다음과 같습니다:

 귀하의 배열은: [[3 7 5]
  [8 4 3]
  [2 4 9]
 amin() 함수 호출: [3 3 2]
 다시 amax() 함수 호출: [2 4 3]
 amax() 함수 호출: 9
 다시 amax() 함수를 호출하다: [8 7 9]

numpy.ptp()

numpy.ptp() 함수는 배열의 요소 중 최대값과 최소값의 차이(최대값) - 최소값).

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]) 
 print('ptp() 함수를 호출하다:', np.ptp(a))
 print('축에 따라 1 ptp() 함수를 호출하다:', np.ptp(a, axis=) 1))
 print('축 0에서 ptp() 함수를 호출하다:', np.ptp(a, axis=0))

출력 결과는 다음과 같습니다:

 ptp() 함수를 호출하다: [ 7
 축에 따라 1 ptp() 함수를 호출하다: [4 5 7]
 축 0에서 ptp() 함수를 호출하다: [6 3 6]

numpy.percentile()

분위수는 통계에서 사용되는 측정치로, 이 값보다 작은 관찰치의 비율을 나타냅니다. 함수 numpy.percentile()는 다음 파라미터를 받습니다.

numpy.percentile(a, q, axis)

파라미터 설명:

a: 입력 배열 q: 계산할 분위수, 0에서 100에서 axis: 분위수를 계산할 축

먼저 분위수를 명확히 하십시오:

p번째 분위수는 이 값이 적어도 p%의 데이터 항목이 그 값보다 작거나 같고, 적어도 (100-p)%의 데이터 항목이 이 값보다 크거나 같다.
예를 들어: 대학 입학 시험 성적은 자주 분위수 형식으로 보고됩니다. 예를 들어, 어떤 수험생이 입학 시험의 한국어 부분의 원시 점수가 54 점수. 다른 학생들과 동일한 시험에 참가한 학생들과 비교하여 그의 성적은 쉽게 알 수 없습니다. 하지만 원시 점수가54점수가 해당 위치에 해당합니다70 percentile이면, 약70%의 학생이 그보다 낮은 점수를 받았으며, 약30%의 학생이 그보다 높은 점수를 받았습니다

이곳의 p = 70.

 import numpy as np 
 a = np.array([[10, 7, 4], [3, 2, 1])
 # 50%의 분위수는, 배열 a에서 정렬된 중앙값입니다
 print('percentile() 함수를 호출하다:', np.percentile(a, 50)) 
 # axis는 0, 세로 열에서
 print(np.percentile(a, 50, axis=0)) 
 # axis는 1,가로 행에서
 print(np.percentile(a, 50, axis=1)) 
 # 원시 차원 유지
 print(np.percentile(a, 50, axis=1, keepdims=True))

출력 결과는 다음과 같습니다:

 percentile() 함수를 호출하다: 3.5
 [6.5 4.5 2.5]
 [7. 2.]
 [[7.]
 [2.]]

numpy.median()

numpy.median() 함수는 배열 a의 요소의 중앙값(중앙치)을 계산합니다

 import numpy as np 
 a = np.array([[30,65,70],[80,95,10],[50,90,60]]) 
 print('콜렉션 median() 함수:', np.median(a))
 print('축 0에 따라 median() 함수를 호출합니다:', np.median(a, axis = 0))
 print('축에 따라 1 median() 함수를 호출합니다:', np.median(a, axis = 1))

출력 결과는 다음과 같습니다:

 median() 함수를 호출합니다: 65.0
 축 0에 따라 median() 함수를 호출합니다:[50. 90. 60.]
 축에 따라 1 median() 함수를 호출합니다:[65. 80. 60.]

numpy.mean()

numpy.mean() 함수는 배열의 요소의 수학적 평균값을 반환합니다. 축이 제공되면 그 축에 따라 계산됩니다。
수학적 평균은 축의 요소 총합을 요소 수로 나눈 값입니다。

 import numpy as np 
 a = np.array([[1,2,3],[3,4,5],[4,5,6]) 
 print('mean() 함수를 호출합니다:', (np.mean(a))
 print('축 0에 따라 mean() 함수를 호출합니다:', np.mean(a, axis = 0))
 print('축에 따라 1 mean() 함수를 호출합니다:', np.mean(a, axis = 1))

출력 결과는 다음과 같습니다:

 mean() 함수를 호출합니다:3.6666666666666665
 축 0에 따라 mean() 함수를 호출합니다:[2.66666667 3.66666667 4.66666667]
 축에 따라 1 mean() 함수를 호출합니다:[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]
 import numpy as np 
 a = np.array([1,2,3,4] 
 print('average() 함수를 호출합니다:', np.average(a))
 # 가중치를 지정하지 않으면 mean 함수와 동일합니다
 wts = np.array([4,3,2,1] 
 print('average() 함수를 다시 호출합니다:', np.average(a, weights = wts))
 # returned 매개변수가 True로 설정되면 권중의 합을 반환합니다 
 print('권중의 합:', np.average([1,2,3, 4], weights = [4,3,2,1], returned = True))

출력 결과는 다음과 같습니다:

 average() 함수를 호출합니다:2.5
 average() 함수를 다시 호출합니다:2.0
 가중치의 합:(2.0, 10.0)

다중 차원 배열에서는 계산에 사용할 축을 지정할 수 있습니다。

 import numpy as np 
 a = np.arange(6).reshape(3,2] 
 wt = np.array([3,5] 
 print ('수정된 배열:',np.average(a, axis = 1, weights = wt))
 print ('수정된 배열:',np.average(a, axis = 1, weights = wt, returned =  True))

출력 결과는 다음과 같습니다:

 수정된 배열: [0.625 2.625 4.625]
 수정된 배열: (array([0.625, 2.625, 4.625]), array([8. 8. 8.))

표준 편차

표준 편차는 데이터 집합의 평균 값의 분산 정도를 측정하는 일종의 재량입니다。
표준 편차는 분산의 수학적 제곱근입니다。
표준 편차의 공식은 다음과 같습니다:

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

만약 배열이 [1,2,3,4]이며, 그 평균은 2.5。 따라서, 차의 제곱은 [2.25,0.25,0.25,2.25],그리고 그 평균의 제곱근을 더한 값으로 구합니다. 4,즉 sqrt(5/4) ,결과는 1.1180339887498949。

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

출력 결과는 다음과 같습니다:

1.1180339887498949

분산

통계에서 분산( 샘플 분산)은 각 샘플 값과 모든 샘플 값의 평균과의 차의 제곱의 평균을 의미하며, 즉 mean((x - x.mean())** 2)。
다시 말해, 표준 편차는 분산의 제곱근입니다.

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