Pandas: 문자열로 시작하지 않는 줄을 선택하는 방법


다음 기본 구문을 사용하여 Pandas DataFrame에서 특정 문자열로 시작하지 않는 행을 선택할 수 있습니다.

 df[~df. my_column . str . startswith ((' this ', ' that '))]

이 특정 공식은 my_column 이라는 열이 this 또는 that 문자열로 시작하지 않는 DataFrame의 모든 행을 선택합니다.

다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.

예: Pandas에서 문자열로 시작하지 않는 줄 선택

다양한 매장의 판매 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정해 보겠습니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['Upper East', 'Upper West', 'Lower East', 'West', 'CTR'],
                   ' sales ': [150, 224, 250, 198, 177]})

#view DataFrame
print (df)

        blind sales
0 Upper East 150
1 Upper West 224
2 Lower East 250
3 West 198
4 CTR 177     

다음 구문을 사용하여 Store 열에서 “Upper” 또는 “Lower” 문자열로 시작하지 않는 DataFrame의 모든 행을 선택할 수 있습니다.

 #select all rows where store does not start with 'Upper' or 'Lower'
df[~df. blind . str . startswith ((' Upper ',' Lower '))]

	blind sales
3 West 198
4 CTR 177

반환되는 유일한 행은 상점 열이 “Upper” 또는 “Lower”로 시작하지 않는 행입니다.

원한다면, Startingswith() 함수 외부에서 문자열 튜플을 정의할 수도 있습니다:

 #define tuple of strings
some_strings = (' Upper ', ' Lower ')

#select all rows where store does not start with strings in tuple
df[~df. blind . str . startswith (some_strings)]

	blind sales
3 West 198
4 CTR 177

이는 이전 방법과 동일한 결과를 생성합니다.

참고 : 여기에서 pandas의 startwith 함수에 대한 전체 문서를 찾을 수 있습니다.

추가 리소스

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

Pandas: 문자열 길이를 기준으로 행을 필터링하는 방법
Pandas:열에 문자열이 포함되어 있는지 확인하는 방법
Pandas: GroupBy를 사용하여 문자열을 연결하는 방법

의견을 추가하다

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