시작하기무료로 시작하기

Python으로 열 내용 필터링하기

이전에 DataFrame 열에 다양한 연산을 적용해 봤으니, 이제 실제 데이터셋을 다뤄 보겠습니다. DataFrame voter_df에는 지난 몇 년간 Dallas City Council의 유권자 정보가 들어 있습니다. 이 축약된 DataFrame에는 투표가 이루어진 날짜, 유권자의 이름과 직위가 포함되어 있어요. 매니저는 이 데이터를 이후 원하는 보고서에 통합할 수 있도록 정리해 달라고 요청했습니다. 주요 작업은 null 항목이나 특이 문자를 제거하고, 정보 검증이 가능한 특정 유권자 집합을 반환하는 것입니다.

이처럼 형식에서 명백히 벗어난 값을 제거하는 일은 데이터 정리의 첫 단계인 경우가 많습니다. 이 데이터셋에서는 원본 데이터를 살펴보며 VOTER_NAME 열에서 어색해 보이는 값이 무엇인지 확인해 보세요.

pyspark.sql.functions 라이브러리는 이미 F라는 별칭으로 임포트되어 있습니다.

이 연습은 강의의 일부입니다

PySpark로 데이터 정제하기

강의 보기

연습 안내

  • 고유한 VOTER_NAME 항목을 표시하세요.
  • VOTER_NAME 길이가 1~20자(문자)인 행만 voter_df에서 필터링하세요.
  • VOTER_NAME_가 포함된 행을 voter_df에서 제외하세요.
  • 다시 한 번 고유한 VOTER_NAME 항목을 표시하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Show the distinct VOTER_NAME entries
voter_df.select(____).distinct().show(40, truncate=False)

# Filter voter_df where the VOTER_NAME is 1-20 characters in length
voter_df = ____('length(VOTER_NAME) > 0 and length(VOTER_NAME) < 20')

# Filter out voter_df where the VOTER_NAME contains an underscore
voter_df = voter_df.filter(~ F.col('VOTER_NAME').____)

# Show the distinct VOTER_NAME entries again
voter_df.____(____).____().____(40, truncate=False)
코드 편집 및 실행