본문 바로가기
Language/Python

NumPy 함수와 메서드

by Mesut Özil 2024. 1. 30.

NumPy(Numerical Python)

넘파이(Numpy)는 파이썬에서 선형대수 기반의 프로그램을 쉽게 만들 수 있도록 지원하는 패키지로,

수치 연산을 수행하는 데 사용되는 핵심 라이브러리 중 하나입니다. (데이터 타입: ndarray)

여기에는 배열(array)을 다루는 다양한 기능과 함수가 있습니다.

 

1. np.array()

  • 주어진 리스트 → 넘파이 배열로 변환 (tolist 반대 개념)
import numpy as np

# [1차원 배열 생성]
np.array([1, 2, 3, 4, 5])
# 결과
array([1, 2, 3, 4, 5])


# [2차원 배열 생성]
np.array([[1, 2, 3], [4, 5, 6]])
# 결과
array([[1, 2, 3],
       [4, 5, 6]])

 

2. tolist()

  • 주어진 넘파이 → 리스트로 변환 (array() 반대 개념)
import numpy as np

# [1차원 배열]
arr = array([1, 2, 3, 4, 5])
arr.tolist()
# 결과
[1, 2, 3, 4, 5]


# [2차원 배열]
arr2 = np.array([[1, 2, 3], [4, 5, 6]])
arr2.tolist()
# 결과
[[1, 2, 3], [4, 5, 6]]

 

3. np.ones() / np.zeros()

  • np.ones: 모든 요소1인 배열을 생성
  • np.zeros: 모든 요소0인 배열을 생성
import numpy as np

# [np.ones]
np.ones((2, 2))
# 결과
array([[1., 1.],
       [1., 1.]])


# [np.zeros]
np.zeros((2, 2))
# 결과
array([[0., 0.],
       [0., 0.]])

 

4. np.arange()

  • 주어진 범위의 숫자로 이루어진 1차원 배열을 생성
  • np.arange(시작, , 간격)
import numpy as np

# [1]
np.arange(10)
# 결과
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])


# [2]
np.arange(1, 10, 2)
# 결과
array([1, 3, 5, 7, 9])

 

5. reshape()

  • 배열의 모양변경
  • reshape(, )
  • reshape(-1, n): 넘파이 배열을 n열에 맞게 변환
import numpy as np

# [arr]
array([1, 2, 3, 4, 5, 6, 7, 8]


# [1차원 배열 → 2차원(2x4 배열)로 재구성]
arr.reshape(2,4)
# 결과
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])


# [1차원 배열 → 3차원(2x2x2 배열)로 재구성]
arr.reshape(2,2,2)
# 결과
array([[[1, 2],
        [3, 4]],
       [[5, 6],
        [7, 8]]])


# [1차원 배열 → 2차원(1xn 배열)로 재구성]
arr.reshape(-1,1)
# 결과
array([[1],
       [2],
       [3],
       [4],
       [5],
       [6],
       [7],
       [8]])

 

6. transpose()

  • 배열의 전치를 수행
  • arr.transpose() / arr.T / np.transpose(arr) (3개 모두 동일)
import numpy as np

# [3x2 배열]
arr = np.array([[1, 2],
                [3, 4],
                [5, 6]])


# [transpose]
arr.transpose() / arr.T / np.transpose(arr) # 3개 동일
# 결과
array([[1, 3, 5],
       [2, 4, 6]])

 

7. np.dot(arr1, arr2)

  • 두 배열의 행렬 곱을 계산
  • (왼쪽 행렬개수 = 오른쪽 행렬 개수) 조건을 성립해야만 내적 연산 가능
import numpy as np

# [2x3 행렬]
arr1 = array([[1, 2, 3],
              [4, 5, 6]])


# [3x2 행렬]
arr2 = array([[1, 2],
              [3, 4],
              [5, 6]])


# [두 행렬의 행렬 곱 → (2x2 행렬)]
np.dot(arr1, arr2)
# 결과
array([[22, 28],
       [49, 64]])

 

 

 

 

 

딕셔너리를 포함한 파이썬의 기본 데이터 구조가 궁금하신 분들은 아래 글을 참고해주세요~!

[파이썬 기본 데이터 구조]

 

파이썬 기본 데이터 구조

파이썬 기본 데이터 구조 1. Numpy NumPy는 파이썬에서 과학적 계산을 수행하기 위한 핵심 라이브러리 중 하나 빠른 연산을 위한 다차원 배열을 제공하며, 선형 대수, 통계 및 수학 함수 등 다양한

luckydong.tistory.com

 

 

 

'Language > Python' 카테고리의 다른 글

itertools.combinations  (2) 2024.02.05
문자열의 정렬 및 패딩 매서드  (0) 2024.01.29
예외 처리 구문  (2) 2024.01.27
Dictionary 메서드  (0) 2024.01.25
List 메서드  (0) 2024.01.24