Skip to main content

원하는 데이터만 필터링

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로 끝남

퀴즈

사용자 정보 입력
퀴즈를 시작하기 전에 이름과 소속을 입력해주세요.

Q&A