Python/Syntax
[Pandas] DataFrame 조건부 검색 시 주의사항
koosco!
2022. 8. 19. 03:17
DataFrame은 bool값을 이용한 boolean indexing을 사용할 수 있습니다.
import pandas as pd
df = pd.read_csv('./data.csv')
df[df['country'].isin(['Australia', 'New Zealand')]
위와 같이 boolean indexing을 사용하면 원하는 조건의 값을 쉽게 찾을 수 있습니다.
파이썬에서 if문을 사용할 때처럼, | 또는 & 연산자를 사용하여 동시에 여러 개의 조건을 사용할 수도 있습니다. 이 때는 꼭 각 조건들을 '(', ')'을 사용하여 묶어주어야 합니다.
df[df['country'].isin(['Australia', 'New Zealand']) & df['points'] >= 95]
괄호를 사용하지 않고 조건문을 이용해 값을 찾으려하면 아무런 값도 나오지 않습니다.
df[(df['country'].isin(['Australia', 'New Zealand'])) & (df['points'] >= 95)]
조건문을 괄호로 감싸주기만 하면 정상적으로 원하는 값을 출력하는 것을 확인할 수 있습니다.