👩💻/pandas
3. 데이터프레임 응용(3)
글로랴
2021. 1. 31. 20:06
3️⃣ Filtering, 필터링
📢 불린 인덱싱(boolean indexing)
boolean indexing이란,
Series 객체에 어떤 조건식을 적용하면 각 원소에 대해 참/거짓을 판별하여 boolean(True, False) 값으로 구성된 Series를 반환한다. 이때, True에 해당하는 값을 따로 선택하는 것을 말한다.
📍 DataFrame객체 [boolean Series]
📌 boolean Series란?🚨🔥
>> 데이터프레임의 각 열(시리즈 객체)에 조건식(>, <, ==, ...)을 적용하면 각 원소가 조건을 만족하는지 여부를 True, False로 표시한 것
예시)
# 나이가 10세 미만이거나 60세 이상인 승객의 age, sex, alon 열만 선택
mask3 = (tt.age < 10) | (tt.age >= 60)
tt_under10_morethan60 = tt.loc[mask3, ['age', 'sex', 'alone']]
tt_under10_morethan60.head()
📢 isin() 메소드 활용
특정 값을 가진 행들을 따로 추출할 수 있다.
📍 DataFrame객체['열 이름'].isin(추출하려는 값 리스트)
📍 DataFrame객체.열이름.isin(추출하려는 값 리스트)
예시)
isin_filter = tt['sibsp'].isin([3, 4, 5])
tt_isin = tt[isin_filter]
📢 잠깐!! ✋
📌 위 예시를 boolean indexing을 이용해 필터링 해보자 🚨🔥
bool_filter = (tt.sibsp == 3) | (tt.sibsp == 4) | (tt.sibsp == 5)
tt_bool = tt[bool_filter]
💡 실행결과
> 위 실행결과를 통해 열 값에서 조건을 걸 경우, boolean indexing 방법보다 isin() 메소드를 사용하는 것이 효율적이다.
반응형