AI

Numpy Index Slicing을 이용한 빠른 접근

leonhong 2022. 7. 28. 18:54

Numpy에서 편리하게 배열을 다루는 기술중에서 Index Slicing에 대한 기술입니다.

import numpy as np

# 1차원 배열
arr1 = np.array([1, 2, 3, 0])

# [x1:x2] Slicing
# x1 index에서 시작해서 x2 index 앞까지
arr2 = arr1[1:3]
# result
# arr2 = [2, 3]

# 2차원 배열(4x4)
arr = np.array([
    [0, 1, 2, 3],
    [4, 5, 6, 7],
    [8, 9, 10, 11],
    [12, 13, 14, 15]])

# [y1:y2, x1:x2] Slicing
# y1 index에서 시작해서 y2 index 앞까지 && x1 index에서 시작해서 x2 index 앞까지
arrSlicing = arr[1:3, 0:2]
# arrSlicing = [
#     [4, 5],
#     [8, 9]]

# [y1:y2] Slicing
arrSlicing = arr[1:3]
# result
# arrSlicing = [
#     [4, 5, 6, 7],
#     [8, 9, 10, 11]]

# Slicing Append
# array 2x2 배열을 동일한 크기의 [y1:y2, x1:x2] 위치에 넣기
arrAdd = np.array([[100, 200], [300, 400]])
arr[1:3, 0:2] = arrAdd
# result
# arr = np.array([
#     [0, 1, 2, 3],
#     [100, 200, 6, 7],
#     [300, 400, 10, 11],
#     [12, 13, 14, 15]])

'AI' 카테고리의 다른 글

Python에서 Opencv 설치하기  (0) 2022.12.08
Pytorch 설치하기  (0) 2022.11.21
pytorch 1.9.1 cu102 버전 설치 방법  (0) 2021.11.04