Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- while문
- 일본어형태소분석기
- elif문
- pm
- 조건문
- UNIX
- NumPy
- shell
- kibana
- python
- 매핑
- 제로베이스
- Size
- 제로베이스부트캠프
- if문
- kuromoji
- pm스쿨28기
- 학습일지
- mapping
- Sort
- bulk
- 셸
- ElasticSearch
- for문
- 블록구조
- else문
- json
- 파이썬
- 제로베이스pm스쿨
- 반복문
Archives
- Today
- Total
code name blue
파이썬 머신러닝/딥러닝 : numpy - 슬라이싱, 인덱싱 본문
Numpy 슬라이싱, 인덱싱
▶ Numpy 슬라이싱 : 필요한 요소 자르기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import numpy as np list = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] arr = np.array(list) #numpy 배열로 만들기 a = arr[0:2, 0:2] print(a) #Result [[1 2] [4 5]] b = arr[1:,1:] print(b) #Result [[5 6] [8 9]] |
▶ Numpy 인덱싱 : 필요한 값 가져오기
(1) 정수 인덱싱(integer indexing)
Numpy 배열 a에 대해서 a[[row1, row2], [col1, col2]]는
a[row1, col1]과 a[row2, col2]라는 두 개의 배열 요소의 집합을 의미한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import numpy as np list = [ [1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12] ] c = np.array(list) #numpy 배열로 만들기 #정수 인덱싱 res = c[[0, 2], [1, 3]] #=>c[0, 1]과 c[2, 3]과 같다 print(res) #Result [ 2 12] |
(2) 부울린 인덱싱(boolean indexing)
각 요소가 선택되었는지, 선택되지 않았는지 표현하는 방식
* boolean = True, False 값
<방법 1>
True, False 값을 직접 작성하여 넣는 방법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import numpy as np list = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] d = np.array(list) #선택여부를 알려주기 위한 배열 x_arr = np.array([ [False, True, False], [True, False, True], [False, True, False] ]) n = d[x_arr] print(n) #Result [2 4 6 8] |
<방법 2>
부울린 인덱싱 배열을 생성할 때 표현식으로 이용하는 방법,
방법 1과 동일한 내용이지만 True, False 값을 직접 일일히 작성하지 않아도 되고 훨씬 간편하다.
* 배열 a에 대하여 짝수인 배열 요소만 True로 지정하겠다고 하면
x_arr = (a%2 == 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 | import numpy as np list = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] arr = np.array(list) #배열 arr에 대하여 배열요소가 짝수이면 True, 홀수이면 False y_arr = (arr%2 == 0) print(y_arr) #Result [[False True False] [ True False True] [False True False]] #방법 1에서 직접 작성하였던 내용과 동일하다 #방법 1의 최종값을 얻고 싶을 경우 print(arr[y_arr]) #Result [2 4 6 8] |
'Programming > Python' 카테고리의 다른 글
파이썬 머신러닝/딥러닝 : numpy - 연산 (0) | 2019.05.22 |
---|---|
파이썬 머신러닝/딥러닝 : numpy - 배열 (0) | 2019.05.21 |
Python : 반복문 - while, for (0) | 2019.05.06 |
Python : 블록 구조 - elif문, if문 중첩 (0) | 2019.04.26 |
Python : 블록 구조 - if문, else문 (0) | 2019.04.26 |
Comments