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 |