원하는 데이터만 필터링
Python의 비교 연산자
> (크다)
< (작다)
>= (크거나 같다)
<= (작거나 같다)
== (같다)
!= (다르다)
- 예시:
3 > 4
- 비교의 결과는
True (참), False (거짓)
- 이러한 참/거짓 값은 불리언(Boolean)이라고 함
- 첫 글자 T와 F가 대문자임에 주의
논리 연산자
and: 두 조건 모두 True일 때 True
(5 > 3) and (2 == 2)
or: 두 조건 중 하나만 True여도 True
(5 < 3) or (2 != 2)
not: 결과를 뒤집음 (거짓 -> 참, 참 -> 거짓)
not (5 < 3)
리스트
- 여러 개의 값을 콤마(,)로 구분해
[ ] (대괄호)로 묶은 것
- 순서가 있는 값의 모음
my_list = ['서울', '부산', '광주']
ages = [20, 22, 25]
in 연산자: 포함 여부 확인- 어떤 값이 List에 포함되어 있는지 확인
'서울' in ['서울', '부산', '광주']
'대구' in ['서울', '부산', '광주']
query() 메소드
df.query('조건 문자열'): 문자열 형태로 조건식을 작성하여 데이터 필터링
- 장점: SQL과 유사한 간결한 문법, 변수 참조 용이 (@변수명)
df.query('my_car_damage > 0')
df.query('model == "Avante" and my_car_damage > 0')
df.query('my_car_damage == 0 or other_car_damage == 0')
df.query('not (my_car_damage == 0)')
변수 사용
- @변수명을 사용하여 외부 변수를 쿼리 내에서 참조
last_year = df.year.max()
df.query('year == @last_year')
문자열 내용으로 필터링
.str.contains('text'): 'text'를 포함하는지
.str.startswith('text'): 'text'로 시작하는지
.str.endswith('text'): 'text'로 끝나는지
- 예시:
df.query('model.str.contains("va")')
df.query('model.str.startswith("A")')
df.query('model.str.endswith("e")')