Python

[numpy] PY - NumPy Array Slicing (배열 자르기) ★ - 배열 요소 일부만 선택.

20485

목차

  1. 배열 자르기 (= 배열 일부 선택 Array Slicing)
  2. 1차원 배열 자르기
  3. 2차원 배열 자르기

 

배열 자르기 (= 배열 일부 선택 Array Slicing)

 

배열의 일부 구간에 위치한 요소만 선택 의미. 

cf. 

배열 필터링 : 특정 조건에 맞는 요소로 배열 생성.

 


[구문]

 

[start:end:step]


start

선택. 시작 색인. (포함 O)

※ 없으면, 0부터 시작.

 

end

선택. 종료 색인. (포함 X)

※ 없으면, 마지막 요소까지.

 

step

선택. 색인 증가 단계. 

※ 없으면, 1씩 증가.

-1 경우, 역순 진행. 

 

PS.

[::-1] 의미: 맨 끝에서 시작해 맨 앞까지 -1씩 백스텝 진행.

str[::-1] : 문자열 순서 뒤집기 

arr[::-1] : 배열 순서 뒤집기

 


[반환값]

 

start (포함 O)부터 end (포함 X)까지 step 간격으로 가져오기. 


 

1차원 배열 자르기

[예제1] start, end만 있는 경우.

2번째부터 6번째 앞까지 1씩 증가.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5])

 

결과값: [2 3 4 5]


[예제2]  start만 있는 경우.

5번째부터 마지막까지 1씩 증가.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[4:])

 

결과값: [5 6 7]


[예제3]  end만 있는 경우.

처음부터 5번째 앞까지 1씩 증가.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[:4])

 

결과값: [1 2 3 4]


[예제4] 음수 색인 경우.

맨 뒤 3번째부터 맨 뒤 바로 앞까지. 1씩 증가.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[-3:-1])

 

결과값: [5 6]


[예제5] start, end, step 다 있는 경우.

2번째부터 6번째 앞까지 2씩 증가.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[1:5:2])

 

결과값: [2 4]


[예제6] : step만 있는 경우.

1번째부터 마지막까지 2씩 증가.

 

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7])

print(arr[::2])

 

결과값: [1 3 5 7] 

 

2차원 배열 자르기

[예제1] 2번째 차원에서 자르기

2번째 차원 2번째부터 5번째 앞까지 1씩 증가.

 

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[1, 1:4]

 

결과값: [7 8 9]


[예제2] 1번째 차원에서 자르기. 

1번째 차원부터 3번째 차원 앞까지, 각 차원의 3번째 요소 선택.

 

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 2]

 

결과값: [3 8]


[예제3] 1번째, 2번째 두 차원 모두에서 자르기. 

1번째 차원부터 3번째 차원 앞까지,
각 차원의 2번째 요소부터 5번째 요소 앞까지 1씩 증가.

 

import numpy as np

arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])

print(arr[0:2, 1:4]

 

결과값:

[[2 3 4]

 [7 8 9]] 



분류 제목
basic Python - Home (입문) - 이념 / 추천 링크
basic Python - Intro (소개) - 용도・특징
basic Python - Start (시작) - 파이썬 설치/실행/버전확인
basic Python - Syntax (구문) - 들여쓰기・변수・주석
basic Python - Comment (주석)
basic Python - Variable (변수)
basic Python - DataType (데이터타입) - 자료형
basic Python - Number (숫자)
basic Python - Casting (데이터 타입 변경) - 자료형 변환
basic Python - String (문자열) ★ ※ 색인번호 (= 인덱스) 개념.
basic Python - Boolean (참거짓)
basic Python - Operator (연산자)
basic Python - List (리스트) ★ - 변경 가능한 모음
basic Python - Tuple (투플/튜플) - 변경 불가 모음
basic Python - Set (셋/세트) - '순서(=색인)' 없고, 중복 허용 않는 데이터 모음.
1/32
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인