Home > Backend Development > Python Tutorial > How to Remove Duplicate Rows Based on Indices in Pandas?

How to Remove Duplicate Rows Based on Indices in Pandas?

Barbara Streisand
Release: 2024-11-13 05:13:02
Original
244 people have browsed it

How to Remove Duplicate Rows Based on Indices in Pandas?

How to Remove Duplicate Rows Based on Indices in Pandas

In data analysis, it is often necessary to identify and remove duplicate rows within a dataset. When working with Pandas, a popular Python library for data manipulation, you may encounter scenarios where multiple rows share identical index values. This issue can arise due to reasons such as data entry errors or unintended duplications.

Example of Duplicate Rows

Consider the following weather DataFrame, which represents observations taken at hourly intervals:

                      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
Copy after login

In this DataFrame, notice that the observation for "2001-01-01 00:00:00" is duplicated at the end of the DataFrame. To clean the data, it is essential to remove these duplicate rows.

Using the duplicated Method

Pandas provides an efficient method called duplicated to identify and select duplicate rows. This method takes into account duplicate rows based on all columns in the DataFrame. By passing the keep parameter, you can specify whether to keep the first or last occurrence of each duplicate group.

In this case, we want to keep the first occurrence of each duplicate group based on the index:

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

This approach leverages the Pandas Index object's duplicated method, which directly operates on the indices of the DataFrame. By negating the result using ~, we select rows that are not marked as duplicates. Specifying keep='first' ensures that we retain the first instance of each duplicate index group.

Performance Considerations

It is important to note that the performance of different methods for removing duplicate rows varies depending on the data and the specific conditions. Benchmarking shows that the duplicated method is the most performant for the given example, followed by the groupby method and reset_index().drop_duplicates().

The above is the detailed content of How to Remove Duplicate Rows Based on Indices in Pandas?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template