[Python] 연습

[Python] NumPy 배열 인덱싱, 슬라이싱 연습

Simon Yoon 2022. 7. 7. 18:30

기본적으로 자료구조란 데이터의 묶음과 그 묶음을 관리할 수 있는 바구니를 의미합니다. 데이터 분석을 위해서 자료구조를 사용하지만 자료구조 내용에 접근하는 방법을 알아두는 것은 반드시 필요하므로 이번 포스팅에서는 기본적인 인덱싱과 슬라이싱을 연습하기 위한 코드로만 구성하였습니다. NumPy의 배열(Array)의 인덱싱과 슬라이싱은 기존의 list 방법과 동일합니다.

 

해당 연습을 하기 전에 Numpy에 대한 학습이 필요한 경우 다음의 포스팅을 참고해주세요.

2022.07.06 - [[Python] 연습] - [Python] numpy 기본 정리

 

Prerequisite

import numpy as np

 

연습용 배열 생성

# 연습용 array 생성
test_arr = np.arange(5, 16)
test_arr
# array([ 5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15])

 

1차원 배열의 인덱싱과 슬라이싱

# 1. 0번 인덱스부터 3번 인덱스까지 출력
test_arr[:4]

# 2. 5번 인덱스부터 9번 인덱스까지 출력
test_arr[5:10]
# 3. test_arr를 역순으로 출력
test_arr[::-1]
# 4. 뒤에서 2번째 부터 뒤에서 4번째 인덱스까지 뒤에서부터 순서대로 출력
test_arr[-2:-5:-1]
# 5. 1번 인덱스부터 마지막까지 3씩 증가하는 인덱스
test_arr[1::3]

 

2차원 배열의 인덱싱과 슬라이싱

# 연습용 2차원 array 생성
arr_dim2 = np.array(['samsung', 'apple', 'lg',
                     'hp', 'sony', 'intel',
                     'microsoft', 'dell', 'lenovo']).reshape(3, 3)
arr_dim2
 
# 6. 'sony', 'dell'만 출력
arr_dim2[1:3, 1:2]
 
# 7. 'microsoft', 'dell'만 출력
arr_dim2[2:,:2]
 
# 8. 다음의 결과와 같은 형태로 출력하세요
# [['apple' 'lg']
#  ['sony' 'intel']]


print(arr_dim2[:2, 1:])

 

3차원 배열 인덱싱과 슬라이싱

 
# 연습용 3차원 배열 생성
arr_dim3 = np.arange(20).reshape(2, 5, 2)
arr_dim3
 

# 9. 다음의 결과와 같은 형태로 출력하세요
# [[6 7]
#  [8 9]]


print(arr_dim3[0, 3:, :])
# 10. 다음의 결과와 같은 형태로 출력하세요
# [10 12 14 16 18]


print(arr_dim3[1, :, 0])
 

'[Python] 연습' 카테고리의 다른 글

[AIFB] Python Basic  (0) 2022.08.12
텐서플로로 간단한 머신러닝 실습하기  (0) 2022.07.11
[Python] numpy 기본 정리  (0) 2022.07.06
[Python] enumerate () 함수  (0) 2022.06.30
Mac에서 Python venv 가상환경 생성  (0) 2022.06.09