Post

NumPy 데이터 분석: 기본 연산 및 통계 함수

배열 연산, 집계 함수, 그리고 통계 함수

NumPy는 데이터 분석과 수치 계산에서 필수적인 다양한 연산과 통계 함수를 제공합니다. 이번 글에서는 배열 연산, 집계 함수, 그리고 통계 함수를 살펴보겠습니다.

1. 배열의 기본 연산

NumPy 배열은 요소 단위로 연산을 수행할 수 있습니다.

1) 기본 산술 연산

배열 간의 덧셈, 뺄셈, 곱셈, 나눗셈 등은 간단히 수행됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import numpy as np

# 배열 생성
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 덧셈
print(arr1 + arr2)  # 출력: [5 7 9]

# 뺄셈
print(arr1 - arr2)  # 출력: [-3 -3 -3]

# 곱셈
print(arr1 * arr2)  # 출력: [ 4 10 18]

# 나눗셈
print(arr1 / arr2)  # 출력: [0.25 0.4  0.5 ]
2) 스칼라 연산

배열과 스칼라 값을 연산할 수도 있습니다.

1
2
3
4
5
# 배열에 스칼라 값 더하기
print(arr1 + 10)  # 출력: [11 12 13]

# 배열 곱하기
print(arr1 * 2)  # 출력: [2 4 6]
3) 브로드캐스팅

NumPy는 크기가 다른 배열 간의 연산을 지원하는 브로드캐스팅 기능을 제공합니다.

1
2
3
4
5
6
7
8
9
# 1차원 배열과 2차원 배열 연산
arr1 = np.array([1, 2, 3])
arr2 = np.array([[10], [20], [30]])

print(arr1 + arr2)
# 출력:
# [[11 12 13]
#  [21 22 23]
#  [31 32 33]]

2. 집계 함수

NumPy는 배열의 요소를 요약하거나 계산하는 다양한 집계 함수를 제공합니다.

1) 합계와 곱
1
2
3
4
5
6
7
8
# 배열 생성
arr = np.array([1, 2, 3, 4])

# 합계
print(np.sum(arr))  # 출력: 10

# 곱
print(np.prod(arr))  # 출력: 24
2) 최소값과 최대값
1
2
3
4
5
# 최소값
print(np.min(arr))  # 출력: 1

# 최대값
print(np.max(arr))  # 출력: 4
3) 누적 합계와 누적 곱
1
2
3
4
5
# 누적 합계
print(np.cumsum(arr))  # 출력: [ 1  3  6 10]

# 누적 곱
print(np.cumprod(arr))  # 출력: [ 1  2  6 24]

3. 통계 함수

NumPy는 평균, 분산, 표준편차 등의 통계 함수를 제공합니다.

1) 평균과 중앙값
1
2
3
4
5
# 평균
print(np.mean(arr))  # 출력: 2.5

# 중앙값
print(np.median(arr))  # 출력: 2.5
2) 표준편차와 분산
1
2
3
4
5
# 표준편차
print(np.std(arr))  # 출력: 1.118033988749895

# 분산
print(np.var(arr))  # 출력: 1.25
3) 상관계수와 공분산

NumPy는 상관계수와 공분산 계산도 지원합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 배열 생성
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# 상관계수
print(np.corrcoef(arr1, arr2))
# 출력:
# [[1. 1.]
#  [1. 1.]]

# 공분산
print(np.cov(arr1, arr2))
# 출력:
# [[1. 1.]
#  [1. 1.]]

4. 축(axis) 기반 연산

NumPy 배열은 다차원 구조를 지원하므로, 특정 축(axis)을 기준으로 연산을 수행할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
# 2차원 배열 생성
arr = np.array([[1, 2], [3, 4]])

# 전체 합계
print(np.sum(arr))  # 출력: 10

# 행 기준 합계 (axis=1)
print(np.sum(arr, axis=1))  # 출력: [3 7]

# 열 기준 합계 (axis=0)
print(np.sum(arr, axis=0))  # 출력: [4 6]

정리

  • NumPy는 기본 산술 연산부터 복잡한 통계 함수까지 다양한 기능을 제공합니다.
  • 집계 함수(sum, prod, min, max)와 통계 함수(mean, std, var)를 사용하여 데이터를 요약하고 분석할 수 있습니다.
  • 축(axis)을 활용한 연산으로 다차원 데이터를 효율적으로 처리할 수 있습니다.

다음 글 예고:
NumPy의 “유니버설 함수와 고급 수학 연산”에 대해 알아보겠습니다!

This post is licensed under CC BY 4.0 by the author.