다음 a
과 같은 배열 이 있습니다.
a = [[40, 10], [50, 11]]
각 차원의 평균을 개별적으로 계산해야합니다. 결과는 다음과 같아야합니다.
[45, 10.5]
45
의 평균 a[*][0]
이고 10.5
의 평균이 a[*][1]
됩니다.
루프를 사용하지 않고 이것을 해결하는 가장 우아한 방법은 무엇입니까?
답변:
a.mean()
axis
인수를 취합니다 .
In [1]: import numpy as np
In [2]: a = np.array([[40, 10], [50, 11]])
In [3]: a.mean(axis=1) # to take the mean of each row
Out[3]: array([ 25. , 30.5])
In [4]: a.mean(axis=0) # to take the mean of each col
Out[4]: array([ 45. , 10.5])
또는 독립형 기능으로 :
In [5]: np.mean(a, axis=1)
Out[5]: array([ 25. , 30.5])
슬라이싱이 작동하지 않는 이유는 다음과 같은 슬라이싱 구문 때문입니다.
In [6]: a[:,0].mean() # first column
Out[6]: 45.0
In [7]: a[:,1].mean() # second column
Out[7]: 10.5
axis=0
대신axis=1
axis=0
는 다음 줄에 있습니다. 더 많은 정보를 표시하고 새로 고치도록 편집했습니다.
mean = np.mean(a, axis=(0,2,3)) mean?
입력 텐서 (a)가 모양 (배치, 채널, 너비, 높이)이라는 것을 아는 것은 무엇 입니까?
In [n]:
뜻이야? 이것은 코드의 일부입니까?