NumPy의 Index(인덱스)
- 배열 내 특정 데이터는 인덱스를 통해 접근할 수 있음
- Indexing을 통한 조회방법: array[index], array[index, index], array[index, index, index], ...
import numpy as np
# 1차원 샘플 데이터 생성
sample = np.arange(5,15)
print('1D-Array Sample:', sample)
print('sample[3] = ', sample[3])
# 인덱싱 값 변경 후 출력
sample[3] = 0
print('1D-Array Sample:', sample)
# 2차원 샘플 데이터 생성
sample = np.arange(16).reshape((4,4))
print('\n2D-Array Indexing')
print(sample)
print('sample[2,3] = ', sample[2, 3])
# 인덱싱 값 변경 후 출력
sample[2, 3] = 0
print(sample)
# 3차원 샘플 데이터 생성
sample = np.arange(16).reshape((4,2,2))
print('\n3D-Array Indexing')
print(sample)
print('sample[1,1,1] = ', sample[1, 1, 1])
1D-Array Sample: [ 5 6 7 8 9 10 11 12 13 14]
sample[3] = 8
1D-Array Sample: [ 5 6 7 0 9 10 11 12 13 14]
2D-Array Indexing
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
sample[2,3] = 11
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 0]
[12 13 14 15]]
3D-Array Indexing
[[[ 0 1]
[ 2 3]]
[[ 4 5]
[ 6 7]]
[[ 8 9]
[10 11]]
[[12 13]
[14 15]]]
sample[1,1,1] = 7
NumPy의 Slicing(슬라이싱)
- ndarray 내 범위를 지정하여 데이터를 조회하는 방식
- array[start: stop]
- start: 범위의 시작점이 되는 인덱스 값으로, 생략되면 0번째 인덱스부터 시작됨.
- stop: 범위의 종료점이 되는 인덱스 값으로, stop-1까지의 인덱스 값만 조회됨. 생략되면 마지막 인덱스 값까지 조회됨.
- Negative Index: 음수를 활용하여 데이터 역순으로 접근할 수 있음. 인덱스 -1은 마지막 행/열에 해당되는 인덱스
import numpy as np
# 1차원 샘플 데이터 생성
sample = np.arange(5,15)
print('1D-Array Sample')
print(sample)
# 슬라이싱 실습
print('\nSlicing')
print(sample[2:5])
print(sample[:5])
print(sample[7:])
print(sample[2:-1])
print(sample[:])
# 2차원 샘플 데이터 생성
sample = np.arange(1,17).reshape(4,4)
print('\n2D-Array Sample')
print(sample)
# 슬라이싱 실습
print('\nSlicing')
print(sample[1:3, 1:3])
print(sample[:3, 0:1])
print(sample[3:, :])
print(sample[:, 2])
print(sample[:, :])
# Negative Index 활용한 슬라이싱 실습
print('\nSlicing by Negative Index')
print(sample[:, 1:-1])
print(sample[:-1, -2])
print(sample[:, -1])
1D-Array Sample
[ 5 6 7 8 9 10 11 12 13 14]
Slicing
[7 8 9]
[5 6 7 8 9]
[12 13 14]
[ 7 8 9 10 11 12 13]
[ 5 6 7 8 9 10 11 12 13 14]
2D-Array Sample
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]
[13 14 15 16]]
Slicing
[[ 6 7]
[10 11]]
[[1]
[5]
[9]]
[[13 14 15 16]]
[ 3 7 11 15]
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]
[13 14 15 16]]
Slicing by Negative Index
[[ 2 3]
[ 6 7]
[10 11]
[14 15]]
[ 3 7 11]
[ 4 8 12 16]
'프로젝트 > 코드프레소 체험단' 카테고리의 다른 글
파이썬으로 배우는 데이터 분석: Pandas - Pandas 라이브러리 소개 (0) | 2022.04.01 |
---|---|
파이썬으로 배우는 데이터 분석: NumPy - 데이터 정렬 (0) | 2022.04.01 |
파이썬으로 배우는 데이터 분석: NumPy - NumPy의 집계함수 (0) | 2022.04.01 |
파이썬으로 배우는 데이터 분석: NumPy - NumPy의 기본 연산 (0) | 2022.04.01 |
파이썬으로 배우는 데이터 분석: NumPy - NumPy의 reshape (0) | 2022.04.01 |