코사장의 코딩 놀이터

머신러닝

Python 라이브러리 Numpy 소개

코사장_ 2023. 5. 9. 19:14
반응형

1. Numpy 개요

Numpy는 Numerical Python의 줄임말로, Python에서 과학 계산을 위한 핵심 라이브러리입니다. Numpy는 대규모 다차원 배열 및 행렬 연산을 지원하며, 이러한 배열 연산을 위한 다양한 수학 함수를 제공합니다. Numpy는 데이터 분석, 머신 러닝 및 인공지능과 같은 분야에서 널리 사용되고 있습니다.

 

 

2. Numpy의 주요 기능

2.1. 다차원 배열 객체

Numpy의 핵심 기능 중 하나는 n차원 배열 객체인 ndarray를 제공하는 것입니다. ndarray는 동일한 데이터 타입의 원소로 이루어진 배열로, 배열의 크기와 형상을 가지고 있습니다. Numpy 배열은 파이썬의 리스트보다 훨씬 더 효율적으로 메모리를 사용하고, 빠른 연산이 가능합니다.

 

2.2. 벡터화 연산

Numpy는 벡터화 연산을 지원합니다. 벡터화 연산은 배열의 모든 원소에 대해 동시에 연산을 수행하는 기능으로, 반복문을 사용하지 않고도 빠르게 연산을 수행할 수 있습니다. 이를 통해 코드를 간결하게 작성할 수 있고, 실행 시간을 단축할 수 있습니다.

 

2.3. 수학 함수

Numpy는 다양한 수학 함수를 제공합니다. 이러한 함수를 사용하여 배열의 원소에 대한 수학 연산을 쉽게 수행할 수 있습니다. Numpy의 수학 함수에는 기본적인 산술 연산, 삼각함수, 지수 및 로그 함수, 선형 대수 연산 등이 포함됩니다.

 

3. Numpy 설치 및 사용법

Numpy를 설치하려면 pip를 사용하여 다음 명령을 실행하세요.

pip install numpy

Numpy를 사용하려면, 먼저 numpy 모듈을 가져와야 합니다. 일반적으로 numpy를 np라는 별칭으로 가져옵니다.

import numpy as np

4. Numpy 배열 생성

Numpy 배열을 생성하는 방법에는 여러 가지가 있습니다.

 

4.1. Python 리스트를 사용하여 배열 생성

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a)

4.2. arange 함수를 사용하여 배열 생성

import numpy as np

b = np.arange(0, 10, 2) # 0부터 10까지 2씩 증가하는 배열 생성
print(b)

4.3. linspace 함수를 사용하여 배열 생성

import numpy as np

c = np.linspace(0, 1, 5) # 0부터 1까지 동일한 간격으로 나눈 5개의 원소를 가진 배열 생성
print(c)

4.4. zeros와 ones 함수를 사용하여 배열 생성

 

import numpy as np

d = np.zeros(5) # 모든 원소가 0인 배열 생성
e = np.ones(5) # 모든 원소가 1인 배열 생성
print(d)
print(e)

5. Numpy 배열 조작 및 연산

5.1. 배열 형상 변경

Numpy 배열의 형상을 변경하려면 reshape 함수를 사용합니다.

import numpy as np

a = np.arange(1, 10)
b = a.reshape(3, 3) # 1차원 배열을 3x3 행렬로 변경
print(b)

5.2. 배열 슬라이싱 및 인덱싱

Numpy 배열의 특정 원소에 접근하거나 일부분을 추출할 때 슬라이싱 및 인덱싱을 사용합니다.

import numpy as np

a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(a[0, 1]) # 0행 1열 원소 출력
print(a[1:]) # 1행부터 마지막 행까지 슬라이싱​
 

5.3. 배열 연산

Numpy는 배열 간의 산술 연산, 비교 연산 등을 지원합니다.

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

c = a + b # 배열 덧셈
d = a * b # 배열 곱셈
e = a > b # 배열 원소 간 비교
print(c)
print(d)
print(e)

5.4. 통계 및 수학 함수

Numpy는 통계, 수학 함수를 제공하여 배열의 합, 평균, 최댓값, 최솟값 등을 쉽게 계산할 수 있습니다.

import numpy as np

a = np.array([1, 2, 3, 4, 5])

sum_a = np.sum(a) # 합
mean_a = np.mean(a) # 평균
max_a = np.max(a) # 최댓값
min_a = np.min(a) # 최솟값

print(sum_a, mean_a, max_a, min_a)

이 글에서는 Numpy의 기본 개념, 배열 생성 및 조작 방법, 연산 및 함수에 대해 살펴보았습니다. Numpy는 머신 러닝 및 데이터 분석 분야에서 매우 중요한 라이브러리이므로, 이를 이해하고 활용하는 것이 매우 중요합니다. 이 포스트를 통해 Numpy에 대한 기본적인 이해를 얻었기를 바랍니다. 앞으로 머신 러닝, 데이터 분석, 인공지능 등의 프로젝트에서 Numpy를 적극 활용하여 높은 효율성과 성능을 얻어보세요. 다양한 예제와 문서를 통해 Numpy의 고급 기능도 탐구해 보시기 바랍니다.

 

 

반응형