Pandas: 특정 문자열이 포함된 행을 필터링하는 방법


다음 구문을 사용하여 Pandas DataFrame에서 특정 문자열이 포함된 행을 필터링할 수 있습니다.

 df[df[" col "]. str . contains (“ this string ”)]

이 튜토리얼에서는 다음 DataFrame과 함께 이 구문을 실제로 사용하는 몇 가지 예를 설명합니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'C'],
                   ' conference ': ['East', 'East', 'East', 'West', 'West', 'East'],
                   ' points ': [11, 8, 10, 6, 6, 5]})

#view DataFrame
df

        team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6
5 C East 5

예 1: 특정 문자열이 포함된 행 필터링

다음 코드는 팀 열에 “A”가 포함된 DataFrame의 행을 필터링하는 방법을 보여줍니다.

 df[df[" team "]. str . contains (“ A ”)]

	team conference points
0 A East 11
1 A East 8
2 A East 10

팀 열에 ‘A’가 포함된 줄만 유지됩니다.

예 2: 목록에 문자열이 포함된 행 필터링

다음 코드는 팀 열에 “A” 또는 “B”가 포함된 DataFrame의 행을 필터링하는 방법을 보여줍니다.

 df[df[" team "]. str . contains (“ A|B ”)]

	team conference points
0 A East 11
1 A East 8
2 A East 10
3 B West 6
4 B West 6

팀 열에 ‘A’ 또는 ‘B’가 포함된 줄만 유지됩니다.

예시 3: 부분 문자열이 포함된 행 필터링

이전 예에서는 하나 이상의 문자열과 정확히 일치하는 행을 기준으로 필터링했습니다.

그러나 부분 문자열이 포함된 행을 필터링하려면 다음 구문을 사용할 수 있습니다.

 #identify partial string to look for
keep=[" Wes "]

#filter for rows that contain the partial string "Wes" in the conference column
df[df. conference . str . contains (' | ' .join (keep))]

	team conference points
3 B West 6
4 B West 6

회의 열에 “Wes”가 포함된 줄만 유지됩니다.

추가 리소스

다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

조건에 따라 Pandas DataFrame에서 행을 삭제하는 방법
여러 조건에서 Pandas DataFrame을 필터링하는 방법
Pandas DataFrame에서 “NOT IN” 필터를 사용하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다