문제 개요
도시(City)와 주(State) 두 개의 열을 가진 DataFrame이 있을 때, 도시 이름과 주 이름이 모두 'K'로 시작하는 행만 필터링하여 새로운 CSV 파일로 저장하는 프로그램을 파이썬으로 작성해 보겠습니다.
예를 들어, 아래와 같은 결과가 출력되어야 합니다.
City,State Kochi,Kerala
해결 방법
이 문제는 다음 단계를 따라 해결할 수 있습니다.
- 먼저 도시와 주 정보를 담은 DataFrame을 정의합니다.
- pandas의
str.startswith()메서드를 사용해 도시 이름과 주 이름이 모두 'K'로 시작하는지 확인합니다.
df[df['City'].str.startswith('K') & df['State'].str.startswith('K')]- 마지막으로 필터링된 결과를
to_csv()함수를 이용해 CSV 파일로 저장합니다.
df1.to_csv('test.csv')예제 코드
아래 예제를 통해 실제 구현 과정을 더 자세히 살펴보겠습니다.
import pandas as pd
import random as r
data = {'City': ['Chennai','Kochi','Kolkata'],'State':
['Tamilnad','Kerala','WestBengal']}
df = pd.DataFrame(data)
print("DataFrame is\n", df)
df1 = df[df['City'].str.startswith('K') & df['State'].str.startswith('K')]
df1.to_csv('test.csv')실행 결과
위 코드를 실행하면 도시 이름과 주 이름이 모두 'K'로 시작하는 'Kochi'와 'Kerala'만 선택되어 새로운 CSV 파일에 저장됩니다.
City,State Kochi,Kerala
핵심 포인트 정리
str.startswith('K')는 문자열 열에서 특정 문자로 시작하는 값을 찾을 때 유용한 pandas 메서드입니다.- 두 조건을 동시에 만족해야 하므로 논리 연산자
&를 사용해 조건을 결합했습니다. to_csv()함수를 호출하면 필터링된 DataFrame을 손쉽게 CSV 파일로 내보낼 수 있습니다.