본문 바로가기

정보/프로그래밍

[Numpy] 주요 연산 문법 및 사용법 정리

오늘은 NumPy의 기본 문법 중 많이 쓰이는 주요 연산 함수에 대해 알아보겠습니다.

 

Numpy 배열의 연산은 리스트 연산과는 다르게 for문을 사용하지 않고 간단하게 연산할 수 있습니다.

 

예를 들어 NumPy 배열의 모든 수에 2를 곱하고 싶다면 NumPy배열 * 2를 코드로 작성하면 됩니다.

 

지금부터 NumPy 모듈의 주요 연산 함수에 대해서 알아봅시다.

 

 

사칙연산


import numpy as np

arr = np.array([1, 2, 3, 4])
arr1 = np.array([5, 6, 7, 8])

# 덧셈
print(arr + arr1)  #print(np.add(arr, arr1))
## [ 6  8 10 12]

# 뺄셈
print(arr1 - arr)  #print(np.subtract(arr1, arr))
## [4 4 4 4]

# 곱셈
print(arr * arr1)  #print(np.multiply(arr, arr1))
## [ 5 12 21 32]

# 나눗셈
print(arr / arr1)  #print(np.divide(arr, arr1))
## [0.2        0.33333333 0.42857143 0.5       ]

행렬 간 계산과 같습니다.

 

NumPy 모듈의 함수로도 사칙연산을 할 수 있습니다.

 

arr 변수와 arr1 변수가 리스트였다면 리스트 간 덧셈의 결과는 [1, 2, 3, 4, 5, 6, 7, 8]이었을 것입니다.

 

 

제곱, 제곱근, 지수승, 로그, 누적합 등


# 제곱
print(np.square(arr))
## [ 1  4  9 16]

# 제곱근(루트)
print(np.sqrt(arr))
## [1.         1.41421356 1.73205081 2.        ]

# 지수 함수
print(np.exp(arr))
## [ 2.71828183  7.3890561  20.08553692 54.59815003]

# 로그 함수
print(np.log(arr))
## [0.         0.69314718 1.09861229 1.38629436]

# 누적합
print(np.cumsum(arr))
## [ 1  3  6 10]

제곱, 제곱근, 지수승, 로그, 누적합 연산입니다.

 

위의 코드들은 꼭 행렬 계산 뿐만 아니라 숫자 계산에도 많이 쓰입니다.

 

 

통계치 (평균, 분산, 표준편차)


# 평균
print(np.mean(arr))
## 2.5

# 분산
print(np.var(arr))
## 1.25

# 표준편차
print(np.std(arr))
## 1.118033988749895

# 최솟값
print(np.min(arr))
## 1

# 최댓값
print(np.max(arr))
## 4

# 중앙값
print(np.median(arr))
## 2.5

위의 함수들은 배열 안의 값들의 통계치를 나타냅니다. (평균, 분산, 표준편차와 같은)

 

리스트 안의 값들의 통계치 또한 나타낼 수 있습니다.

 

 


지금까지 NumPy의 기본 문법 중 많이 쓰이는 주요 연산 함수에 대해 알아보았습니다.

 

코랩이나 주피터노트북으로 직접 실행해 보시길 바랍니다.

 

https://bigdata-doctrine.tistory.com/26

 

[Python] NumPy 기본 문법 및 사용법 정리 : 배열 생성

오늘은 행렬이나 다차원 배열의 연산을 쉽게 할 수 있도록 돕는 NumPy 모듈의 기본 문법과 사용법에 대해 정리해보도록 하겠습니다. NumPy 배열 연산의 특징으로는 적은 메모리를 사용하고 빠른 처

bigdata-doctrine.tistory.com

 

https://bigdata-doctrine.tistory.com/28

 

[Python] NumPy 기본 문법 및 사용법 정리 : 주요 기능

오늘은 이전 시간에 설명드렸던 NumPy 모듈의 기능들 외의 주요한 기능들에 대해 설명해보겠습니다. 배열 변형, 배열 정보 확인, 특정 값 선택, 저장 등 이전 시간에는 다루지 않았지만 중요한 기

bigdata-doctrine.tistory.com