Pandas: 여러 조건에 따라 행 삭제


다음 방법을 사용하여 Pandas DataFrame의 여러 조건에 따라 행을 삭제할 수 있습니다.

방법 1: 여러 조건 중 하나를 충족하는 행 삭제

 df = df. loc [ ~ ((df[' col1 '] == ' A ') | (df[' col2 '] > 6 ))]

이 특정 예에서는 col1 값이 A와 같 거나 col2 값이 6보다 큰 모든 행을 삭제합니다.

방법 2: 여러 조건을 충족하는 행 제거

 df = df. loc [ ~ ((df[' col1 '] == ' A ') & (df[' col2 '] > 6 ))] 

이 특정 예에서는 col1 값이 A 같고 col2 값이 6보다 큰 모든 행을 삭제합니다.

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' pos ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' assists ': [5, 7, 7, 9, 12, 9, 3, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team pos assists rebounds
0 A G 5 11
1 A G 7 8
2 A F 7 10
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 3 9
7 B F 4 12

예 1: 여러 조건 중 하나를 충족하는 행 삭제

다음 코드는 DataFrame에서 Team 열의 값이 A와 같 거나 Attendances 열의 값이 6보다 큰 행을 삭제하는 방법을 보여줍니다.

 #drop rows where value in team column == 'A' or value in assists column > 6
df = df. loc [ ~ ((df[' team '] == ' A ') | (df[' assists '] > 6 ))]

#view updated DataFrame
print (df)

  team pos assists rebounds
6 BF 3 9
7 BF 4 12

팀 열이 A와 같거나 어시스트 열이 6보다 큰 모든 행이 제거되었습니다.

이 특정 DataFrame의 경우 행 중 6개가 삭제되었습니다.

참고 : | 기호는 팬더의 “OR” 논리를 나타냅니다.

예 2: 여러 조건을 충족하는 행 제거

다음 코드는 Team 열의 값이 A 같고 Attendances 열의 값이 6보다 큰 DataFrame의 행을 삭제하는 방법을 보여줍니다.

 #drop rows where value in team column == 'A' and value in assists column > 6
df = df. loc [ ~ ((df[' team '] == ' A ') & (df[' assists '] > 6 ))]

#view updated DataFrame
print (df)

  team pos assists rebounds
0 AG 5 11
4 BG 12 6
5 BG 9 5
6 BF 3 9
7 BF 4 12

팀 열이 A와 같고 어시스트 열이 6보다 큰 모든 행이 제거되었습니다.

이 특정 DataFrame의 경우 행 중 3개가 삭제되었습니다.

참고 : 기호 &는 팬더의 “AND” 논리를 나타냅니다.

추가 리소스

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

Pandas에서 특정 값이 포함된 행을 삭제하는 방법
Pandas에서 특정 문자열이 포함된 행을 삭제하는 방법
Pandas에서 인덱스별로 행을 삭제하는 방법

의견을 추가하다

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