Pandas: query()에서 like를 사용하는 방법


다음 방법을 사용하여 Pandas query() 함수에서 LIKE (SQL과 유사)를 사용하여 특정 패턴이 포함된 행을 찾을 수 있습니다.

방법 1: 패턴이 포함된 행 찾기

 df. query (' my_column.str.contains("pattern1") ')

방법 2: 여러 패턴 중 하나를 포함하는 행 찾기

 df. query (' my_column.str.contains("pattern1|pattern2") ')

다음 예에서는 다음 pandas DataFrame에서 실제로 각 메서드를 사용하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Cavs', 'Heat', 'Mavs', 'Mavs', 'Nets',
                            'Heat', 'Cavs', 'Jazz', 'Jazz', 'Hawks'],
                   ' points ': [3, 3, 4, 5, 4, 7, 8, 7, 12, 14],
                   ' rebounds ': [15, 14, 14, 10, 8, 14, 13, 9, 5, 4]})

#view DataFrame
print (df)

    team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
4 Nets 4 8
5 Heat 7 14
6 Cavs 8 13
7 Jazz 7 9
8 Jazz 12 5
9 Hawks 14 4

예 1: 패턴이 포함된 행 찾기

다음 코드는 query() 함수를 사용하여 열에 “avs”가 포함된 DataFrame의 모든 행을 찾는 방법을 보여줍니다.

 df. query (' team.str.contains("avs") ')

        team points rebounds
0 Cavs 3 15
2 Mavs 4 14
3 Mavs 5 10
6 Cavs 8 13

반환된 각 행에는 열 어딘가에 “avs”가 포함되어 있습니다.

또한 이 구문은 대소문자를 구분합니다.

따라서 “AVS”를 대신 사용하면 열에 대문자 “AVS”가 포함된 행이 없기 때문에 결과를 받을 수 없습니다.

예 2: 여러 패턴 중 하나를 포함하는 행 찾기

다음 코드는 query() 함수를 사용하여 열에 “avs” 또는 “eat”가 포함된 DataFrame의 모든 행을 찾는 방법을 보여줍니다.

 df. query (' team.str.contains("avs|eat") ')

        team points rebounds
0 Cavs 3 15
1 Heat 3 14
2 Mavs 4 14
3 Mavs 5 10
5 Heat 7 14
6 Cavs 8 13

반환된 각 행에는 열 어딘가에 “avs” 또는 “eat”가 포함되어 있습니다.

참고 : | 연산자는 팬더에서 “또는”을 의미합니다. 더 많은 채널 디자인을 검색하려면 원하는 만큼 자유롭게 사용하세요.

추가 리소스

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

Pandas: 문자열 길이를 기준으로 행을 필터링하는 방법
Pandas: 조건에 따라 행을 삭제하는 방법
Pandas: “NO IN” 필터를 사용하는 방법

의견을 추가하다

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