안녕하세요. 오늘은 주말이라 쉬는줄 알고 있다가 뒤늦게 미션 완료!
점점 헷갈리는게 생기네요. 다시 블로그 들여다보면서 공부해야겠어요.
34. ch06_04 - 35. ch06_05
34. ch06_04
import numpy as np
1. 슬라이싱
배열의 부분 선택
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr.shape
>(10, )
1-1 .index 지정하여 색인
1차원 array : 범위안에 있는 것만 가능. 앞은 0부터, 끝은 -1부터
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[0]
>0
arr[10]
>error (9까지만 순서)
arr[-1]
>9 (뒤에서부터 거꾸로)
arr[-10]
>0
arr[-11]
error (-10까지 순서)
2차원
arr2d = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
arr2d.shape
>(3,4)
arr2d[행, 열] (0부터 카운트)
arr2d[0,2]
>3
arr2d[2,1]
>10
1-2. 범위 색인
1차원
index 1이상 끝까지 arr[1:](뒤에) , 5미만 arr[:5](앞에)
arr
>array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[1:]
>array([1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[:5]
>array([0, 1, 2, 3, 4]) (0부터 카운트)
arr[1:5] index 1이상 5미만
>array([1,2,3,4])
arr[:-1]
array([0, 1, 2, 3, 4, 5, 6, 7, 8]) (1부터 거꾸로 카운트)
2차원
arr2d = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
row(행) 모두 가져올 때
arr2d[0, :]
>array([1, 2, 3, 4])
column(열) 모두 가져올 때
arr2d[:, 2]
array([ 3, 7, 11])
부분적으로 가져올 때
arr2d[:2, :]
>array([[1, 2, 3, 4],
[5, 6, 7, 8]])
arr2d[:2, 2:]
>array([[3, 4],
[7, 8]])
2. Fancy 인덱싱
특정 index 집합의 값을 선택하여 추출할 때
1차원 array
arr = np.array([10, 23, 2, 7, 90, 65, 32, 66, 70])
[추출하고 싶은 인덱스] 꺾쇠 괄호로 묶기
idx = [1, 3, 5]
arr[idx]
>array([23, 7, 65])
2차원 array
arr2d = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
arr2d[[0,1], :]
>array([[1, 2, 3, 4],
[5, 6, 7, 8]])
arr2d[:, [1, 2, 3]]
>array([[ 2, 3, 4],
[ 6, 7, 8],
[10, 11, 12]])
패스트캠퍼스 데이터분석 강의 링크