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에서 중복 열을 제거하는 방법
팬더에서 중복을 계산하는 방법

의견을 추가하다

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