2021년 5월 11일 화요일

numpy에서 변수 할당

arr = np.arange(0,11) 

0부터 11까지 순서대로 배열에 저장됨 [0,1,2,3,4,5,6,7,8,9,10]


slice_of_arr = arr[0:6]

slice_of_arr변수에 [0,1,2,3,4,5]가 들어감 



이라고 생각할 수 있겠지만 사실 arr변수의 해당부분과 slice_of_arr변수에 있는 부분은 같다. 


처음에 나 이거보고 이건 뭔 개소린가 했는데


일반적으로 예상했던 방식은 넘파이에서는 copy라는 메서드를 사용해야 한다.


arr_copy = arr.copy()  이렇게 사용해야 처음에 내가 생각했던대로 응 변수에 넣는다 라고 

생각하면된다.



왜이러는걸까요 ㅋ 




=====

넘파이에서 2차원 배열

np.arange(0,50).reshape(5,10)

array([[ 0,  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]])


#chunk 23,24


처음 [20, 21, 22, 23, 24, 25, 26, 27, 28, 29], 3번째 행을 얻기 위해서

arr_2d[2:3]을 가져오고,

3:5로 3,4 열을 자르면


arr_2d[2:3,3:5]


원하던 23,24 요소를 가져올 수 있다.


만약 17,18 27,28,37,38,47,48 을 가져오고 싶다면

1. 행부터 찾는다.

2. 열을 찾는다.

arr_2d[1:5,7:9]

댓글 없음: