본문 바로가기
판다스/함수 cheat sheet

[pandas] 불리언 인덱싱(boolean indexing)

by 김판다t 2023. 2. 4.
import pandas as pd
data = [[85, 96, 94], [79, 87, 94], [93, 85, 73], [81, 84, 88]]
df = pd.DataFrame(data, index=list('ABCD'), columns=['국어', '영어', '수학'])

 

 

불리언 인덱싱은 함수는 아니지만 판다스에서 자주 사용하는 기법이다

 

 

 

불리언 인덱싱에 들어가는 배열은 리스트가 아니라 시리즈도 가능하다

시리즈는 단순 연산만으로 쉽게 불리언(boolean) 시리즈로 만들 수 있으므로

이 특성과 합쳐져 불리언 인덱싱은 판다스의 필터링으로 쓰인다

 

 

 

이때 조건문으로 쓰인 아래의 코드는  

df['국어'] > 80

 

위 그림에서 보듯 그저 True 또는 False로 이루어진 시리즈임을 잊지말자

 

 

 

편의상 판다스에서 조건문이라고 부르는 것은 실제 조건문처럼 작동되어 80보다 큰 점수만 남기라는 명령어같지만

그저 bool로 이루어진 시리즈나 데이터프레임일 뿐이다.

 

그래서 아래처럼 변수로 지정해 사용할 수도 있다

 

cond1 = df['국어'] > 80
df[cond1]

 

 

인덱서는 레이블 슬라이싱과 같다

대괄호로 행을 불리언 인덱싱할 수 있고

loc 인덱서로 행과 열을 불리언 인덱싱 할 수 있다

iloc 인덱서로는 불가능하다

'판다스 > 함수 cheat sheet' 카테고리의 다른 글

[pandas] cut  (0) 2023.02.04
[pandas] mask  (0) 2023.02.04
[pandas] astype  (0) 2023.02.03
[pandas] rank  (0) 2023.01.16
[pandas] drop  (0) 2023.01.07