Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 데이터프레임에서 첫 번째 중복 행을 제거하는 방법

데이터프레임이 주어져 있고, 첫 번째 중복 행을 제거하면 다음과 같은 결과를 얻게 됩니다.

    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