데이터프레임이 주어져 있고, 첫 번째 중복 행을 제거하면 다음과 같은 결과를 얻게 됩니다.
Id Age 0 1 12 3 4 13 4 5 14 5 6 12 6 2 13 7 7 16 8 3 14 9 9 15 10 10 14
해결 방법
이 문제를 해결하기 위해 아래 단계를 따릅니다.
데이터프레임을 정의합니다.
Id와 Age 열을 기준으로 drop_duplicates 함수를 적용하고, keep 매개변수 값을 'last'로 지정합니다.
df.drop_duplicates(subset=['Id','Age'],keep='last')
여기서 keep='last' 옵션은 중복된 행들 중 가장 마지막에 위치한 행만 남기고, 그 앞에 있는 중복 행들을 모두 제거한다는 의미입니다. 만약 기본값인 'first'를 사용하면 첫 번째 행이 유지되고 이후의 중복 행들이 삭제됩니다.
처리 결과를 동일한 데이터프레임에 저장한 후 화면에 출력합니다.
예제
더 잘 이해할 수 있도록 아래 구현 예제를 살펴보겠습니다.
import pandas as pd
df = pd.DataFrame({'Id':[1,2,3,4,5,6,2,7,3,9,10],
'Age':[12,13,14,13,14,12,13,16,14,15,14]
})
print("DataFrame is:\n",df)
df = df.drop_duplicates(subset=['Id','Age'],keep='last')
print("Dataframe after removing first duplicate rows:\n", df)출력 결과
DataFrame is: Id Age 0 1 12 1 2 13 2 3 14 3 4 13 4 5 14 5 6 12 6 2 13 7 7 16 8 3 14 9 9 15 10 10 14 Dataframe after removing first duplicate rows: Id Age 0 1 12 3 4 13 4 5 14 5 6 12 6 2 13 7 7 16 8 3 14 9 9 15 10 10 14