Pandas: 행을 최대값으로 유지하면서 중복을 제거하는 방법
다음 방법을 사용하여 Pandas DataFrame에서 중복 항목을 제거하고 특정 열의 최대값을 포함하는 행을 유지할 수 있습니다.
방법 1: 열에서 중복 항목을 제거하고 Max로 행 유지
df. sort_values (' var2 ', ascending= False ). drop_duplicates (' var1 '). sort_index ()
방법 2: 여러 열의 중복 항목을 제거하고 Max로 행 유지
df. sort_values (' var3 ', ascending= False ). drop_duplicates ([' var1 ', ' var2 ']). sort_index ()
다음 예에서는 각 방법을 실제로 사용하는 방법을 보여줍니다.
예 1: 열에서 중복 항목을 제거하고 Max가 포함된 행 유지
다양한 팀의 농구 선수가 득점한 점수에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], ' points ': [20, 24, 28, 30, 14, 19, 29, 40, 22]}) #view DataFrame print (df) team points 0 to 20 1 to 24 2 to 28 3 B 30 4 B 14 5 B 19 6 C 29 7 C 40 8 C 22
다음 구문을 사용하여 중복된 팀 이름이 있는 행을 제거하고 포인트 에 대한 최대 값이 있는 행을 유지할 수 있습니다.
#drop duplicate teams but keeps row with max points
df_new = df. sort_values (' points ', ascending= False ). drop_duplicates (' team '). sort_index ()
#view DataFrame
print (df_new)
team points
2 to 28
3 B 30
7 C 40
중복된 팀 이름이 있는 각 행은 제거되었으나, 최대 점수 값이 있는 행은 각 팀별 로 유지되었습니다.
예 2: 여러 열에서 중복 항목을 제거하고 Max를 사용하여 행 유지
다음과 같은 팬더 DataFrame이 있다고 가정합니다.
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C'], ' position ': ['G', 'G', 'F', 'G', 'F', 'F', 'G', 'G', 'F'], ' points ': [20, 24, 28, 30, 14, 19, 29, 40, 22]}) #view DataFrame print (df) team position points 0 AG 20 1 GA 24 2AF 28 3 BG 30 4 BF 14 5 BF 19 6 GC 29 7 GC 40 8 CF 22
다음 구문을 사용하여 중복된 팀 및 위치 이름이 있는 행을 제거할 수 있지만 포인트 에 대한 최대 값이 있는 행은 유지합니다.
#drop rows with duplicate team and positions but keeps row with max points
df_new = df. sort_values (' points ', ascending= False ). drop_duplicates ([' team ',' position ']). sort_index ()
#view DataFrame
print (df_new)
team position points
1 GA 24
2AF 28
3 BG 30
5 BF 19
7 GC 40
8 CF 22
중복된 팀 및 직위 이름이 있는 모든 행은 제거되었지만 각 팀 및 직위 조합 에 대해 최대 포인트 값이 있는 행은 유지되었습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
Pandas에서 중복 행을 제거하는 방법
Pandas에서 중복 열을 제거하는 방법
팬더에서 중복을 계산하는 방법