Pandas DataFrame에서 특정 텍스트가 포함된 행을 선택하려면 contains() 메서드를 사용하면 됩니다. 이 메서드는 문자열에 특정 텍스트가 포함되어 있는지 확인하여 해당 행만 필터링해 줍니다.
CSV 파일 읽기
먼저 CSV 파일 경로를 지정하고 파일을 읽어 Pandas DataFrame을 생성합니다.
C:\Users\amit_\Desktop\CarRecords.csv
dataFrame = pd.read_csv("C:\Users\amit_\Desktop\CarRecords.csv")특정 텍스트가 포함된 행 선택하기
이제 'Car' 열에서 "BMW"라는 텍스트가 포함된 행만 선택해 보겠습니다. str.contains()를 사용하면 간단하게 필터링할 수 있습니다.
dataFrame = dataFrame[dataFrame['Car'].str.contains('BMW')]전체 예제 코드
다음은 위 과정을 모두 포함한 전체 코드입니다.
import pandas as pd
# CSV 파일 읽기
dataFrame = pd.read_csv("C:\Users\amit_\Desktop\CarRecords.csv")
print("DataFrame...\n", dataFrame)
# "BMW" 텍스트가 포함된 행 선택
dataFrame = dataFrame[dataFrame['Car'].str.contains('BMW')]
print("\nFetching rows with text BMW ...\n", dataFrame)실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame ...
Car Place UnitsSold
0 Audi Bangalore 80
1 Porsche Mumbai 110
2 RollsRoyce Pune 100
3 BMW Delhi 95
4 Mercedes Hyderabad 80
5 Lamborghini Chandigarh 80
6 Audi Mumbai 100
7 Mercedes Pune 120
8 Lamborghini Delhi 100
Fetching rows with text BMW ...
Car Place UnitsSold
3 BMW Delhi 95참고 사항
str.contains() 메서드는 기본적으로 대소문자를 구분합니다. 대소문자 구분 없이 검색하려면 case=False 옵션을 추가하면 됩니다. 또한 결측값(NaN)이 있는 경우 오류가 발생할 수 있으므로, na=False 옵션을 함께 사용하면 안전하게 처리할 수 있습니다.