Pandas dataframe에서 중복 항목을 찾는 방법(예제 포함)


Duplicated() 함수를 사용하여 Pandas DataFrame에서 중복된 값을 찾을 수 있습니다.

이 함수는 다음 기본 구문을 사용합니다.

 #find duplicate rows across all columns
duplicateRows = df[df. duplicated ()]

#find duplicate rows across specific columns
duplicateRows = df[df. duplicated ([' col1 ',' col2 '])]

다음 예에서는 다음 pandas DataFrame에서 실제로 이 함수를 사용하는 방법을 보여줍니다.

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [10, 10, 12, 12, 15, 17, 20, 20],
                   ' assists ': [5, 5, 7, 9, 12, 9, 6, 6]})

#view DataFrame
print (df)

  team points assists
0 to 10 5
1 to 10 5
2 to 12 7
3 to 12 9
4 B 15 12
5 B 17 9
6 B 20 6
7 B 20 6

예 1: 모든 열에서 중복 행 찾기

다음 코드는 DataFrame의 모든 열에서 중복 행을 찾는 방법을 보여줍니다.

 #identify duplicate rows
duplicateRows = df[df. duplicated ()]

#view duplicate rows
duplicateRows

        team points assists
1 to 10 5
7 B 20 6

DataFrame에는 다른 행과 정확히 중복되는 두 개의 행이 있습니다.

keep=’last’ 인수를 사용하여 마지막 줄 대신 첫 번째 중복 줄을 표시할 수도 있습니다.

 #identify duplicate rows
duplicateRows = df[df. duplicated (keep=' last ')]

#view duplicate rows
print (duplicateRows)

	team points assists
0 to 10 5
6 B 20 6

예 2: 특정 열에서 중복 행 찾기

다음 코드는 DataFrame의 “team” 및 “points” 열에서만 중복 행을 찾는 방법을 보여줍니다.

 #identify duplicate rows across 'team' and 'points' columns
duplicateRows = df[df. duplicated ([' team ',' points '])]

#view duplicate rows
print (duplicateRows)

        team points assists
1 to 10 5
3 to 12 9
7 B 20 6

“팀” 및 “포인트” 열의 값이 이전 행의 정확한 복사본인 세 개의 행이 있습니다.

예 3: 열에서 중복 행 찾기

다음 코드는 DataFrame의 “team” 열에서만 중복 행을 찾는 방법을 보여줍니다.

 #identify duplicate rows in 'team' column
duplicateRows = df[df. duplicated ([' team '])]

#view duplicate rows
print (duplicateRows)

	team points assists
1 to 10 5
2 to 12 7
3 to 12 9
5 B 17 9
6 B 20 6
7 B 20 6

“팀” 열의 값이 이전 행과 정확히 중복되는 총 6개의 행이 있습니다.

추가 리소스

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

Pandas에서 중복 행을 제거하는 방법
Pandas에서 중복 열을 제거하는 방법
Pandas에서 인덱스로 열을 선택하는 방법

의견을 추가하다

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