2025.03.24(월) 슈퍼코딩 AI/DATA Day 22 일일보고 - 라이브러리-Numpy_인덱싱 & 슬라이싱

Honey_Bunny·2025년 3월 24일

슈퍼코딩

목록 보기
20/23

Numpy_인덱싱 & 슬라이싱


ndarray Indexing

  • data[0][0] 처럼 list와 동일한 방법으로 index를 사용할 수 있다
  • 또한 data[0, 0]처럼 표기할 수도 있다
  • Matrix(2차원)일 경우 첫번째 인수는 row, 두번째는 column이다

data[0][0] = data[y][x]
data[0, 0] = data[y, x]
row : y, column : x
data[1, 2] = Y : 세로방향, X : 가로방향


ndarray Slicing

  • data[:2]처럼 list와 동일한 방법으로 slicing을 할 수 있다
  • 또한 data[:2, 1:3]처럼 행과 열을 함께 slicing 할 수 있다

data[:2]의 경우 index [0,1] = 2칸


ndarray Slicing

data[y, x]는 data[y][x]와 같지 않고, 순차적으로 진행된다
data[:2, 1:3]는 좌표따라 진행된다 ( data[:2, 1:3] = 0부터 1까지 행, 2부터 3까지행)


ndarray Slicing

  • data[:2][1:3]은 data[:2, 1:3]과 다르다

data[:2] = index(0, 1)
data[1:3] = index(1, 2)


ndarray Slicing ( :: )


강의시간에 실습한 내용


import numpy as np
# a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]], int)
# print(a)
출력 : 
[[ 1  2  3  4 ]
 [ 5  6  7  8 ]
 [ 9 10 11 12]
 [13 14 15 16]]
a = np.arange(1,17).reshape(4,4)
print(a)
print(a[3,2])
print(a[3][2])
출력 : 
[[ 1  2  3  4 ]
 [ 5  6  7  8 ]
 [ 9 10 11 12]
 [13 14 15 16]]
출력 : 15
출력 : 15
b= a[3]
print(b)
c= b[2]
print(c)
출력 : [13 14 15 16]
출력 : 15
a = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]], int)
print(a)
print(a[2:3,1:4])
print(a[2:3][1:4])
출력 : 
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]
 [13 14 15 16]]
출력 : [[10 11 12]]
출력 : []
b=a[2:3]
print(b)
print(b[1:4])
출력 : [[ 9 10 11 12]]
[]
a = np.arange(1,28, dtype=int).reshape(3,3,3)
print(a)
print(a[1,1,2])
print(a[1:3,1:3,1:3])
# 4 [0,1,0]
# 18 [1,2,2]
# 20 [2,0,1]
# 8 [0,2,1]
i = ((0,1,2,0),(1,2,0,2),(0,2,1,1))
print(a[i])
출력 : 
[[[ 1  2  3]
  [ 4  5  6]
  [ 7  8  9]]
 [[10 11 12]
  [13 14 15]
  [16 17 18]]
 [[19 20 21]
  [22 23 24]
  [25 26 27]]]
출력 : 15
출력 : 
[[[14 15]
  [17 18]]
 [[23 24]
  [26 27]]]
출력 : [ 4 18 20  8]  
a = np.arange(1,121, dtype=int).reshape(2,3,4,5)
print(a)
print(a.shape)
print(a.size)
print(a.ndim)
print(a[0,0,3,3])
# 18 [0,0,3,2]
# 54 [0,2,2,3]
# 112 [1,2,2,1]
print(a[0,0,3,2])
print(a[0,2,2,3])
print(a[1,2,2,1])
출력 : 
[[[[  1   2   3   4   5]
   [  6   7   8   9  10]
   [ 11  12  13  14  15]
   [ 16  17  18  19  20]]
  [[ 21  22  23  24  25]
   [ 26  27  28  29  30]
   [ 31  32  33  34  35]
   [ 36  37  38  39  40]]
  [[ 41  42  43  44  45]
   [ 46  47  48  49  50]
   [ 51  52  53  54  55]
   [ 56  57  58  59  60]]]
 [[[ 61  62  63  64  65]
   [ 66  67  68  69  70]
   [ 71  72  73  74  75]
   [ 76  77  78  79  80]]
  [[ 81  82  83  84  85]
   [ 86  87  88  89  90]
   [ 91  92  93  94  95]
   [ 96  97  98  99 100]]
  [[101 102 103 104 105]
   [106 107 108 109 110]
   [111 112 113 114 115]
   [116 117 118 119 120]]]]
출력 : (2, 3, 4, 5)
출력 : 120
출력 : 4
출력 : 19
출력 : 18
출력 : 54
출력 : 112
i = ((0,0,1),(0,2,2),(3,2,2),(2,3,1))
print(a[i])
print(a[0:2,1:3,2:3,2:4])
출력 : [ 18  54 112]
출력 : 
[[[[ 33  34]]
  [[ 53  54]]]
 [[[ 93  94]]
  [[113 114]]]]

profile
현재 : C# WPF 개발자 / 목표 : AI 의료 영상 분석 연구원

0개의 댓글