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을 필터링하는 방법

의견을 추가하다

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