ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Python] 데이터프레임 중복 행, 중복 열 제거
    알.쓸.코드/알.쓸.파.코(알아두면 쓸데있는 파이썬 코드) 2021. 6. 18. 10:43
    반응형

    [Python] 데이터프레임 중복 행, 중복 열 제거

    데이터프레임의 규모가 큰 경우 미처 확인하지 못 한 중복된 행과 열이 있을 수 있다. 이를 해결하는 방법으로 duplicateddrop_duplicates을 적용하면 쉽게 해결 가능하다.

    1. 먼저 행과 열이 중복되는 간단한 데이터프레임을 생성한다.
    data_frame=pd.DataFrame({'col1':['A', 'B', 'C', 'A', 'B', 'B'], 'col2':[1,2,3,1,2,4], 'col3':[1,2,3,1,2,4]})

    ​ 생성된 데이터프레임은 다음과 같다. 데이터프레임의 0번째 행과 3번째 행이 중복되고 1번째 행과 4번째 행이 중복된다. 그리고 중복되는 컬럼은 'col2'와 'col3'이 중복된다.

    data_frame

     

    1. 먼저 중복된 행을 제거해 보자. duplicated를 적용하면 중복된 행을 True로 반환한다.
    data_frame.duplicated()
    0    False
    1    False
    2    False
    3     True
    4     True
    5    False
    dtype: bool

    ​ 그리고 drop_duplicates를 적용하면 중복된 행이 제거된다.

    data_frame.drop_duplicates()

     

    1. 마지막으로 중복되는 열을 제거해 보자. 데이터프레임을 .T를 사용해 행과 열을 전환시켜 duplicated를 적용해 주면 중복되는 열을 확인할 수 있다.
    data_frame.T.duplicated()
    col1    False
    col2    False
    col3     True
    dtype: bool

    ​ 그리고 data_frame.T.duplicated()~을 붙이면 False가 True로 True가 False로 반전된는 것을 알 수 있다.

    ~data_frame.T.duplicated()
    col1     True
    col2     True
    col3    False
    dtype: bool

    ​ 위의 결과를 데이터프레임의 열에 적용하면 다음과 같이 중복된 열이 제거된다.

    data_frame.loc[:, ~data_frame.T.duplicated()]
    반응형

    댓글

Designed by Tistory.