Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Pandas에서 특정 텍스트가 포함된 행 선택하는 방법

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 옵션을 함께 사용하면 안전하게 처리할 수 있습니다.