[Home] Python으로 돌아가기

NumPy-1: 다차원 배열과 인덱싱

목차

참조 자료

NumPy 개요

(1) 다차원 배열

(2) 인덱싱과 합치기

참조 자료

NumPy 개요

NumPy는 과학 컴퓨팅을 위한 핵심 라이브러리로, 다차원 배열 연산 및 선형대수, 난수 생성 등의 기능을 제공한다.

(1) 다차원 배열

1) 배열 생성


import numpy as np
X = np.array([0.1, 0.2, 0.3])
print(X.shape)  # (3,)
print(X.dtype)  # float64
print(X.ndim)   # 1차원
    

2) 배열 초기화


Y = np.zeros([3,3])  # 모든 요소를 0으로 초기화
Y = np.ones([3,3])   # 모든 요소를 1로 초기화
    

3) 배열 덧붙이기


A = np.array([])
for i in range(3):
    A = np.append(A, [1,2])
print(A)  # [1. 2. 1. 2. 1. 2.]
    

4) 범위 지정


np.arange(1, 1.5, 0.1)  # [1.  1.1  1.2  1.3  1.4]
np.linspace(0., 20., 5)  # [ 0.  5. 10. 15. 20.]
    

[Note]
arange() = "array" + "range"
linspace() = "linear" + "space"

5) 배열 형태 변경


X = np.arange(9)
Y = X.reshape([3,3])
print(Y) # [[0 1 2]
         #  [3 4 5]
         #  [6 7 8]]
    

(2) 인덱싱과 합치기

1) 인덱스 배열


A = np.array([1.2, -1.3, 2.2, 5.3, 3.7])
print(A[0])  # 1.2
print(A[0:3])  # [1.2, -1.3, 2.2]
    

2) 불린 배열


X = np.array([1.2, -1.3, 2.2, 5.3, 3.7])
print(X[X > 2])  # [2.2, 5.3, 3.7]
    

[Note]
▪ "불린 배열"은 Boolean Array를 말하는 것으로,
   True 또는 False 값을 가지는 배열이다.
   이 배열은 조건을 만족하는 요소만 "필터링(선택)"할 때 사용된다.

3) 배열 합치기


A = np.array([[1, 2], [3, 4]])
# [[1 2]
#  [3 4]]

B = np.array([[5, 6]])
# [[5 6]]

C = np.concatenate((A, B), axis=0)  # 행을 추가
# [[1 2]
#  [3 4]
#  [5 6]]

D = np.concatenate((A, B.T), axis=1)  # 열을 추가
[[1 2 5]
 [3 4 6]]
    

[Note]
concatenate() = "con(com, 함께)" + "catenate(chain, 체인으로 묶다)"
   = 함께 체인으로 연결하다.
   = 연속적으로 이어붙인다.