배열의 평균값 구하기

chanykim·2022년 6월 23일
0

예시

arr = np.array([[[2, 2, 2, 2],
                [2, 2, 2, 2],
                [2, 2, 2, 2]],

                [[3, 3, 3, 3],
                [3, 3, 3, 3],
                [3, 3, 3, 3]]])

print(arr.shape) # (2,3,4)
print(np.mean(arr)) # 1x1
print(np.mean(arr, axis=0)) # 3x4
print(np.mean(arr, axis=1)) # 2x4
print(np.mean(arr, axis=2)) # 2x3
print(np.mean(arr, axis=(1, 2))) # 1x2
#결과값
#1. print(arr.shape)  (2,3,4)
(2, 3, 4)

#2. print(np.mean(data))  1x1
2.5

#3. print(np.mean(arr, axis=0))  3x4
[[2.5 2.5 2.5 2.5]
 [2.5 2.5 2.5 2.5]
 [2.5 2.5 2.5 2.5]]

#4. print(np.mean(arr, axis=1))  2x4
[[2. 2. 2. 2.]
 [3. 3. 3. 3.]]

#5. print(np.mean(arr, axis=2))  2x3
[[2. 2. 2.]
 [3. 3. 3.]]

#6. print(np.mean(arr, axis=(1, 2))) # 1x2
[2. 3.]

3차원에 대한 np.mean

1. axis=None 일 때

해당 배열에 모든 숫자를 합해서 평균을 냅니다.

#1x1
60/24 = 2.5

2. axis=0 일 때

해당 배열에 차원에 따라 합하여 평균을 냅니다.
위 그림을 통해 봤을 때 각 차원끼리 합하여 평균을 내면 아래와 같은 결과가 나옵니다.

#3x4
[[2.5 2.5 2.5 2.5]
 [2.5 2.5 2.5 2.5]
 [2.5 2.5 2.5 2.5]]

3. axis=1 일 때

해당 배열에 행에 따라 합하여 평균을 냅니다.
위 그림을 통해 봤을 때 각 행끼리 합하여 평균을 내면 아래와 같은 결과가 나옵니다.

[[2. 2. 2. 2.] #첫번째 차원
 [3. 3. 3. 3.]] # 두번째 차원

4. axis=2 일 때


해당 배열에 행에 따라 합하여 평균을 냅니다.
위 그림을 통해 봤을 때 각 행끼리 합하여 평균을 내면 아래와 같은 결과가 나옵니다.

#2x3
[[2. 2. 2.] #첫번째 차원
 [3. 3. 3.]] # 두번째 차원

5. axis=(튜플)일 때

axis의 값이 튜플로 주어졌을땐 순서대로 모든 축에 대해서 연산을 합니다.
예시에 따라 axis=(1, 2)일 때 행에 따라 합하여 평균 계산을 하고 열에 따라 평균 계산하여 나타냅니다.

#1x2
[2. 3.]
profile
오늘보다 더 나은 내일

0개의 댓글