>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame 열 내에서 여러 하위 문자열을 효율적으로 확인하려면 어떻게 해야 합니까?

Pandas DataFrame 열 내에서 여러 하위 문자열을 효율적으로 확인하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-30 12:17:11855검색

How Can I Efficiently Check for Multiple Substrings Within a Pandas DataFrame Column?

다중 하위 문자열을 사용하여 Pandas DataFrame에서 하위 문자열 존재 테스트

pandas에서는 df.isin()과 df[col].str을 결합합니다. 문자열에 목록의 하위 문자열이 포함되어 있는지 확인하는 Contains() 작업은 지루할 수 있습니다. 이 기사에서는 정규식과 str.contains() 메서드를 사용하는 대체 솔루션을 제공합니다.

설명하기 위해 ['cat','hat','dog','fog','를 포함하는 시리즈 s를 고려해보세요. 애완 동물']. 'pet'을 제외하고 'og' 또는 'at'을 포함하는 모든 요소를 ​​찾으려면 다음 코드를 사용할 수 있습니다.

searchfor = ['og', 'at']
jointed_regex = '|'.join(searchfor)
s[s.str.contains(jointed_regex)]

출력은 다음과 같습니다.

0    cat
1    hat
2    dog
3    fog
dtype: object

하위 문자열을 '|'로 결합하여 문자가 있는 경우 str.contains() 메서드는 문자열 요소 내의 모든 하위 문자열과 효과적으로 일치할 수 있습니다.

특수 문자 처리

특수 문자가 포함된 하위 문자열을 처리할 때 주의하세요. $ 또는 ^와 같은 문자는 re.escape()를 사용하여 이스케이프해야 합니다. 이렇게 하면 일치 프로세스 중에 문자가 문자 그대로 해석됩니다.

예를 들어, searchfor에 ['money', 'x^y']가 포함되어 있는 경우:

import re
safe_searchfor = [re.escape(m) for m in searchfor]
s[s.str.contains('|'.join(safe_searchfor))]

이 코드는 특수 문자를 사용하여 하위 문자열의 정확한 일치를 보장합니다.

위 내용은 Pandas DataFrame 열 내에서 여러 하위 문자열을 효율적으로 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.