NumPy는 수치 데이터 처리를 위한 파이썬의 강력한 라이브러리입니다. 주로 배열 형태로 데이터를 입력받아 통계 함수를 비롯한 다양한 연산을 적용하여 결과를 도출합니다. 이 글에서는 여러 개의 NumPy 배열로 이루어진 리스트가 있을 때, 각 배열의 평균값을 구하는 방법을 소개합니다.
방법 1: np.mean() 함수 사용
NumPy의 mean() 함수는 배열을 인자로 받아 해당 배열에 포함된 모든 요소들의 산술 평균을 계산해 줍니다. 따라서 반복문(for loop)을 사용해 입력 리스트를 순회하면서 각 배열마다 np.mean()을 호출하면 전체 결과를 얻을 수 있습니다.
예제 코드
import numpy as np
# 입력 배열 리스트
Arrays_In = [np.array([11, 5, 41]),
np.array([12, 13, 26]),
np.array([56, 20, 51])]
# 결과를 저장할 리스트
Arrays_res = []
# np.mean()으로 각 배열의 평균 계산
for x in range(len(Arrays_In)):
Arrays_res.append(np.mean(Arrays_In[x]))
# 결과 출력
print("The means of the arrays: \n", Arrays_res)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
The means of the arrays: [19.0, 17.0, 42.333333333333336]
첫 번째 배열 [11, 5, 41]의 평균은 19.0, 두 번째 배열 [12, 13, 26]의 평균은 17.0, 세 번째 배열 [56, 20, 51]의 평균은 약 42.33으로 계산된 것을 확인할 수 있습니다.
방법 2: np.average() 함수 사용
두 번째 방법은 average() 함수를 사용한다는 점만 다르고 나머지 과정은 앞선 방법과 동일합니다. 가중치를 지정하지 않는 한 average()는 mean()과 완전히 같은 결과를 반환합니다.
예제 코드
import numpy as np
# 입력 배열 리스트
Arrays_In = [np.array([11, 5, 41]),
np.array([12, 13, 26]),
np.array([56, 20, 51])]
# 결과를 저장할 리스트
Arrays_res = []
# np.average()로 각 배열의 평균 계산
for x in range(len(Arrays_In)):
Arrays_res.append(np.average(Arrays_In[x]))
# 결과 출력
print("The means of the arrays: \n", Arrays_res)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
The means of the arrays: [19.0, 17.0, 42.333333333333336]
마무리
이처럼 NumPy 배열 리스트의 평균값을 구하는 방법은 크게 두 가지가 있습니다. 일반적인 산술 평균이 필요하다면 np.mean()을, 가중 평균 등 확장된 기능이 필요하다면 np.average()를 사용하는 것이 좋습니다. 참고로 파이썬 내장 함수인 sum()과 len()을 조합하거나, 리스트 컴프리헨션(list comprehension)을 활용하면 코드를 더 간결하게 작성할 수도 있습니다.