>백엔드 개발 >파이썬 튜토리얼 >Pandas의 인덱스를 기반으로 중복 행을 제거하는 방법은 무엇입니까?

Pandas의 인덱스를 기반으로 중복 행을 제거하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-13 05:13:02239검색

How to Remove Duplicate Rows Based on Indices in Pandas?

Pandas에서 인덱스를 기반으로 중복 행을 제거하는 방법

데이터 분석에서는 데이터세트. 데이터 조작을 위한 인기 있는 Python 라이브러리인 Pandas로 작업할 때 여러 행이 동일한 인덱스 값을 공유하는 시나리오가 발생할 수 있습니다. 이 문제는 데이터 입력 오류나 의도하지 않은 중복 등의 이유로 발생할 수 있습니다.

중복 행의 예

시간별 관측을 나타내는 다음 날씨 DataFrame을 고려하세요. 간격:

                      Sta  Precip1hr  Precip5min  Temp  DewPnt  WindSpd  WindDir  AtmPress
Date                                                                                      
2001-01-01 00:00:00  KPDX          0           0     4       3        0        0     30.31
2001-01-01 00:05:00  KPDX          0           0     4       3        0        0     30.30
2001-01-01 00:10:00  KPDX          0           0     4       3        4       80     30.30
2001-01-01 00:15:00  KPDX          0           0     3       2        5       90     30.30
2001-01-01 00:20:00  KPDX          0           0     3       2       10      110     30.28

이 DataFrame에서 DataFrame 끝에 "2001-01-01 00:00:00"이 중복되었습니다. 데이터를 정리하려면 이러한 중복 행을 제거하는 것이 중요합니다.

중복 방법 사용

Pandas는 중복 행을 식별하고 선택하기 위해 Duplicate라는 효율적인 방법을 제공합니다. 이 방법은 DataFrame의 모든 열을 기반으로 중복 행을 고려합니다. keep 매개변수를 전달하면 각 중복 그룹의 첫 번째 발생 또는 마지막 발생을 유지할지 지정할 수 있습니다.

이 경우 인덱스를 기반으로 각 중복 그룹의 첫 번째 발생을 유지하려고 합니다.

df3 = df3[~df3.index.duplicated(keep='first')]

이 접근 방식은 DataFrame의 인덱스에서 직접 작동하는 Pandas Index 개체의 Duplicate 메서드를 활용합니다. ~를 사용하여 결과를 부정함으로써 중복으로 표시되지 않은 행을 선택합니다. keep='first'를 지정하면 각 중복 인덱스 그룹의 첫 번째 인스턴스가 유지됩니다.

성능 고려 사항

다양한 방법의 성능에 유의하는 것이 중요합니다. 중복 행을 제거하는 방법은 데이터 및 특정 조건에 따라 다릅니다. 벤치마킹에 따르면, 주어진 예에서는 Duplicate 메서드가 가장 성능이 좋았고, Groupby 메서드와 Reset_index().drop_duplicates()가 그 뒤를 이었습니다.

위 내용은 Pandas의 인덱스를 기반으로 중복 행을 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.