logo

Python의 numpy.average()

Python의 numpy 모듈은 지정된 축을 따라 가중 평균을 계산하는 데 사용되는 numpy.average()라는 함수를 제공합니다.

통사론:

 numpy.average(a, axis=None, weights=None, returned=False) 

매개변수:

x: array_like

이 매개변수는 요소의 평균을 계산하려는 소스 배열을 정의합니다. 'x'가 배열이면 변환이 시도됩니다.

축: int 또는 None 또는 int의 튜플(선택 ​​사항)

이 매개변수는 평균이 계산될 축을 정의합니다. 기본적으로 축은 없음으로 설정되어 소스 배열의 모든 요소의 평균을 계산합니다. 축 값이 음수인 경우 끝에서 시작 축까지 카운트가 시작됩니다.

가중치 : array_like(선택 사항)

이 매개변수는 배열 값과 연관된 가중치를 포함하는 배열을 정의합니다. 배열 요소의 각 값은 함께 관련 가중치에 따라 평균을 만듭니다. 가중치 배열은 1차원 배열이거나 입력 배열과 동일한 모양일 수 있습니다. 배열 요소와 연관된 가중치가 없으면 모든 요소에 대해 가중치가 1로 처리됩니다.

반환됨: bool(선택 사항)

기본적으로 이 매개변수는 False로 설정됩니다. True로 설정하면average와 sum_of_weights의 튜플이 반환됩니다. False인 경우 평균이 반환됩니다. 가중치 값이 없는 경우 가중치 합은 요소 수와 동일합니다.

보고:

retval, [sum_of_weights]: array_type 또는 double

이 함수는 평균을 반환하거나 반환된 매개변수에 따라 평균과 가중치 합계를 모두 반환합니다.

레이즈:

ZeroDivisionError

이 오류는 축을 따라 모든 가중치가 0으로 설정되면 발생합니다.

유형오류

이 오류는 가중치 배열의 길이가 입력 배열의 모양과 같지 않을 때 발생합니다.

예시 1:

 import numpy as np data = list(range(1,6)) output=np.average(data) data output 

산출:

 [1, 2, 3, 4, 5] 3.0 

위 코드에서:

  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 우리는 요소 목록을 만들었습니다. '데이터' .
  • 우리는 변수를 선언했습니다 '산출' 반환된 값을 할당했습니다. 평균() 기능.
  • 우리는 목록을 통과했습니다 '데이터' 기능에서.
  • 마지막으로 우리는 '데이터' 그리고 '산출'

출력에는 목록 요소의 평균이 표시됩니다.

예 2:

 import numpy as np output=np.average(range(1,16), weights=range(15,0,-1)) output 

산출:

 5.666666666666667 

예시 3:

 import numpy as np data=np.arange(12).reshape((4,3)) output = np.average(data, axis=1, weights=[1./4, 3./4, 5./4]) data output 

산출:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) array([ 1.44444444, 4.44444444, 7.44444444, 10.44444444]) 

위 코드에서:

  • 별칭 이름이 np인 numpy를 가져왔습니다.
  • 우리는 배열을 만들었습니다 '데이터' 사용하여 범위() 그리고 np.reshape() 기능.
  • 우리는 변수를 선언했습니다 '산출' 반환된 값을 할당했습니다. 평균() 기능.
  • 우리는 배열을 통과했습니다 '데이터' , 축을 1로 설정하고 함수에서 가중치 배열을 설정합니다.
  • 마지막으로 우리는 '데이터' 그리고 '산출'

출력에는 배열의 각 열 요소의 평균이 표시됩니다.

예시 4:

 import numpy as np data=np.arange(12).reshape((4,3)) data np.average(data, weights=[1./4, 3./4, 5./4]) 

산출:

 array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) Traceback (most recent call last): File '', line 1, in File 'C:Python27libsite-packages
umpylibfunction_base.py', line 406, in average 'Axis must be specified when shapes of data and weights.' TypeError: Axis must be specified when shapes of data and weights differ. 

참고: 출력에는 '가중치' 배열의 모양이 입력 배열 '데이터'와 동일하지 않기 때문에 '데이터의 모양과 가중치가 다를 때 축을 지정해야 합니다'라는 유형 오류가 표시됩니다.