Numpy란
넘파이(Numpy)는 파이썬의 핵심 과학 및 수학 라이브러리입니다. 이름 그대로 "Numerical Python"의 줄임말로, 다차원 배열과 수학적 연산을 빠르고 효율적으로 수행할 수 있도록 도와줍니다. 넘파이를 사용하면 데이터 분석, 기계 학습, 과학 연구 등 다양한 분야에서 빠르고 정확한 계산을 할 수 있습니다.
import numpy as np
배열 기본 사용법
Numpy 배열은 파이썬 리스트와 유사하지만, 다차원 배열과 다양한 수학 함수를 활용할 수 있습니다. 아래는 기본적인 사용법을 보여주는 예제입니다.
import numpy as np
# Numpy 배열 생성
mylist = [1, 2, 3]
np_array = np.array(mylist)
# 출력: array([1, 2, 3])
# 다차원 배열 생성
mylist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
np_array = np.array(mylist)
# 출력:
# array([[1, 2, 3],
# [4, 5, 6],
# [7, 8, 9]])
# 배열 형태 확인
shape = np_array.shape
# 출력: (3, 3)
주요 함수
Numpy는 다양한 배열 생성 함수와 연산 함수를 제공합니다.
# arange 함수
range_array = np.arange(0, 10)
# 출력: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
# linspace 함수
linear_array = np.linspace(0, 10, 3)
# 출력: array([ 0., 5., 10.])
# zeros 함수
zeros_array = np.zeros((3, 3))
# 출력:
# array([[0., 0., 0.],
# [0., 0., 0.],
# [0., 0., 0.]])
# ones 함수
ones_array = np.ones((3, 3))
# 출력:
# array([[1., 1., 1.],
# [1., 1., 1.],
# [1., 1., 1.]])
# 배열 연산
result_array = ones_array + 4
# 출력:
# array([[5., 5., 5.],
# [5., 5., 5.],
# [5., 5., 5.]])
# 랜덤 배열 생성
random_uniform = np.random.rand(3, 3)
random_normal = np.random.randn(3, 3)
random_integer = np.random.randint(1, 100, 10)
# 랜덤 난수 설정
np.random.seed(42)
# 데이터 유형 확인
result_array.dtype
# 출력:
# dtype('int32')
배열 재구조화
Numpy에서는 배열의 구조를 재조정할 수 있는 reshape 함수를 제공합니다. 이 함수를 사용하면 배열의 형태를 변경할 수 있습니다. 예를 들어, 1차원 배열을 2차원 배열로 변환하거나, 다차원 배열의 차원을 변경하는 등의 작업을 할 수 있습니다.
# np_array = array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
new_shape_array = np_array.reshape((3, 3))
# 출력:
# array([[1, 2, 3],
# [4, 5, 6],
# [7, 8, 9]])