Pandas: '포함하지 않음' 항목을 필터링하는 방법은 무엇입니까?
다음 방법을 사용하여 Pandas DataFrame에서 “포함하지 않음” 필터를 수행할 수 있습니다.
방법 1: 특정 문자열을 포함하지 않는 행 필터링
filtered_df = df[df[' my_column ']. str . contains (' some_string ') == False ]
방법 2: 여러 특정 문자열 중 하나를 포함하지 않는 행 필터링
filtered_df = df[df[' my_column ']. str . contains (' string1|string2|string3 ') == False ]
다음 예에서는 다음 pandas DataFrame에서 실제로 각 메서드를 사용하는 방법을 보여줍니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['Nets', 'Rockets', 'Mavs', 'Spurs', 'Kings', 'Nuggets'], ' points ': [18, 22, 19, 14, 14, 11], ' assists ': [5, 7, 7, 9, 12, 9], ' rebounds ': [11, 8, 10, 6, 6, 5]}) #view DataFrame print (df) team points assists rebounds 0 Nets 18 5 11 1 Rockets 22 7 8 2 Mavs 19 7 10 3 Spurs 14 9 6 4 Kings 14 12 6 5 Nuggets 11 9 5
예 1: 특정 문자열을 포함하지 않는 행 필터링
다음 코드는 팀 열의 이름에 “ets”가 포함되지 않은 행에 대해 Pandas DataFrame을 필터링하는 방법을 보여줍니다.
#filter for rows that do not contain 'ets' in the 'team' column
filtered_df = df[df[' team ']. str . contains (' ets ') == False ]
#view filtered DataFrame
print (filtered_df)
team points assists rebounds
2 Mavs 19 7 10
3 Spurs 14 9 6
4 Kings 14 12 6
결과 DataFrame에는 팀 열의 값에 이름에 “ets”가 포함된 행이 포함되어 있지 않습니다.
특히 다음 팀은 DataFrame에서 제외되었습니다.
- 네트
- 로켓
- 너겟
각 팀 이름에는 “ets”가 포함되어 있습니다.
예 2: 여러 특정 문자열 중 하나를 포함하지 않는 행 필터링
다음 코드는 팀 열의 이름에 “ets”가 포함되지 않은 행에 대해 Pandas DataFrame을 필터링하는 방법을 보여줍니다.
#filter for rows that do not contain 'ets' or 'urs' in the 'team' column
filtered_df = df[df[' team ']. str . contains (' ets|urs ') == False ]
#view filtered DataFrame
print (filtered_df)
team points assists rebounds
2 Mavs 19 7 10
4 Kings 14 12 6
결과 DataFrame에는 팀 열의 값에 이름에 “ets” 또는 “urs”가 포함된 행이 포함되어 있지 않습니다.
참고 : | 연산자는 팬더에서 “OR”을 의미합니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 필터링 작업을 수행하는 방법을 설명합니다.
열 값으로 Pandas DataFrame을 필터링하는 방법
Pandas DataFrame 행을 날짜별로 필터링하는 방법
여러 조건에서 Pandas DataFrame을 필터링하는 방법