원하는 데이터만 필터링
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') # my_car_damage가 0보다 큰 경우
df.query('model == "Avante" and my_car_damage > 0')
# 차종이 Avante이고 my_car_damage가 0보다 큰 경우
df.query('my_car_damage == 0 or other_car_damage == 0')
# my_car_damage가 0이거나 other_car_damage가 0인 경우
df.query('not (my_car_damage == 0)')
# my_car_damage가 0이 아닌 경우
변수 사용
- @변수명을 사용하여 외부 변수를 쿼리 내에서 참조
last_year = df.year.max()
df.query('year == @last_year') # last_year 변수에 저장된 값과 year 열이 같은 행을 선택
문자열 내용으로 필터링
.str.contains('text'): 'text'를 포함하는지.str.startswith('text'): 'text'로 시작하는지.str.endswith('text'): 'text'로 끝나는지- 예시:
df.query('model.str.contains("va")') # va를 포함
df.query('model.str.startswith("A")') # A로 시작
df.query('model.str.endswith("e")') # e로 끝남
퀴즈
사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.