python 메모

[pandas] duplicated()의 함정과 모든 중복 데이터 모으기

2022. 7. 31. 15:26
목차
  1. 1. duplicated()의 함정
  2. 2. 모든 중복 데이터 모아서 보기

pandas를 쓰다가 중복된 데이터를 처리할 때 모든 중복 데이터를 확인하고 싶을 때가 있다. 이를 위한 방법을 정리하고자 한다.

 

1. duplicated()의 함정

 아래와 같은 데이터가 있다고 하자.

print(data.to_markdown())
>>>> 
|    | class   |   age | good   |
|---:|:--------|------:|:-------|
|  0 | a       |    11 | True   |
|  1 | a       |    10 | True   |
|  2 | b       |     9 | True   |
|  3 | c       |     9 | False  |
|  4 | c       |     7 | False  |
|  5 | c       |     7 | False  |

duplicated()를 사용하면 중복데이터 중 남겨둘 데이터 하나를 제외한 중복데이터만 보여준다.

print(data[data.duplicated(subset="class", keep="first")].to_markdown())
>>>>
|    | class   |   age | good   |
|---:|:--------|------:|:-------|
|  1 | a       |    10 | True   |
|  4 | c       |     7 | False  |
|  5 | c       |     7 | False  |


print(data[data.duplicated(subset="class", keep="last")].to_markdown())
>>>>
|    | class   |   age | good   |
|---:|:--------|------:|:-------|
|  0 | a       |    11 | True   |
|  3 | c       |     9 | False  |
|  4 | c       |     7 | False  |

 

2. 모든 중복 데이터 모아서 보기

stackoverflow글을 참고하면 아래와 같은 방법으로 모든 중복데이터를 모아서 볼 수 있다.

print(pd.concat(g for _, g in data.groupby("class") if len(g) > 1).to_markdown())
>>>>
|    | class   |   age | good   |
|---:|:--------|------:|:-------|
|  0 | a       |    11 | True   |
|  1 | a       |    10 | True   |
|  3 | c       |     9 | False  |
|  4 | c       |     7 | False  |
|  5 | c       |     7 | False  |

 

728x90
저작자표시 비영리 변경금지 (새창열림)

'python 메모' 카테고리의 다른 글

[huggingface] transformers 모델 onnx로 변환하기  (0) 2022.09.25
[python] Thread-Local Data  (2) 2022.08.03
[jupyter] notebook 파일 cli로 중단없이 실행시키기  (1) 2022.07.30
[numpy] np.take, np.take_along_axis  (0) 2022.07.29
[pandas] 셀의 모든 내용 출력하기  (0) 2022.07.21
  1. 1. duplicated()의 함정
  2. 2. 모든 중복 데이터 모아서 보기
'python 메모' 카테고리의 다른 글
  • [huggingface] transformers 모델 onnx로 변환하기
  • [python] Thread-Local Data
  • [jupyter] notebook 파일 cli로 중단없이 실행시키기
  • [numpy] np.take, np.take_along_axis
Fine애플
Fine애플
이것저것
Fine애플
끄적끄적
Fine애플
전체
오늘
어제
  • 분류 전체보기 (167)
    • 논문 및 개념 정리 (27)
    • Pattern Recognition (8)
    • 개발 (57)
    • python 메모 (45)
    • pytorch, tensorflow (5)
    • 알고리즘 (9)
    • Toy Projects (4)
    • 통계이론 (2)
    • Reinforcement Learning (10)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 자연어
  • ubuntu
  • 알고리즘
  • 딥러닝
  • nlp
  • python
  • container
  • BigBird
  • PyTorch
  • tensorflow
  • GPU
  • 언어모델
  • Bert
  • Probability
  • miniconda
  • transformer
  • 개발환경
  • Docker
  • pandas
  • reinforcement learning

최근 댓글

최근 글

hELLO · Designed By 정상우.
Fine애플
[pandas] duplicated()의 함정과 모든 중복 데이터 모으기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.