본문 바로가기
Big Data/DataAnalysis & Manipulate

Boolean / Fancy indexing

by Wikinist 2023. 8. 7.

"Boolean indexing"과 "fancy indexing"은 파이썬에서 배열이나 리스트와 같은 시퀀스 자료형에서 원하는 요소를 선택하는 데 사용되는 두 가지 다른 인덱싱 기법입니다.

Boolean Indexing (부울 인덱싱)

Boolean indexing은 배열의 요소를 선택할 때 조건을 사용하는 방법입니다. 조건을 만족하는 요소만 선택하여 새로운 배열을 생성합니다. 이 방법은 numpy 라이브러리와 배열에 특히 유용하며, numpy 배열의 경우 불린 마스크를 생성하여 조건을 만족하는 요소를 선택할 수 있습니다.
예시:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
mask = arr > 2  # 조건을 만족하는 요소를 선택하기 위한 불린 마스크 생성
filtered_arr = arr[mask]  # 불린 마스크를 사용하여 조건을 만족하는 요소 선택

print(filtered_arr)  # 출력: [3, 4, 5]

Fancy Indexing (팬시 인덱싱)

Fancy indexing은 정수 배열을 사용하여 원하는 요소를 선택하는 방법입니다. 이 방법은 여러 개의 요소를 한 번에 선택할 수 있어 편리합니다.
예시:

arr = np.array([10, 20, 30, 40, 50])
indices = np.array([1, 3])  # 선택하려는 요소의 인덱스 목록

selected_elements = arr[indices]  # 팬시 인덱싱을 사용하여 선택된 요소 가져오기

print(selected_elements)  # 출력: [20, 40]

정리하면, 부울 인덱싱은 조건에 따라 요소를 선택하고, 팬시 인덱싱은 인덱스 배열을 사용하여 요소를 선택합니다. 이 두 가지 인덱싱 기법을 조합하면 배열에서 더 복잡한 선택 작업을 수행할 수 있습니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'Big Data > DataAnalysis & Manipulate' 카테고리의 다른 글

df.describe()  (0) 2023.08.07
pandas cut()  (0) 2023.08.07
명시적 / 묵시적 인덱스 접근  (0) 2023.08.07
DataFrame Indexer  (0) 2023.08.04
Pandas DataFrame 구조  (0) 2023.08.04