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.