Finden Sie doppelte Zeilen in einem DataFrame mit Pandas
-
Verwenden Sie die Methode
DataFrame.duplicated()
, um doppelte Zeilen in einem DataFrame zu finden - Erstellen Sie einen DataFrame mit doppelten Zeilen
- Wählen Sie Doppelte Zeilen basierend auf allen Spalten aus
- Abschluss
Doppelte Werte sollten im Rahmen des Bereinigungsverfahrens aus Ihrem Datensatz identifiziert werden. Doppelte Daten verbrauchen unnötig Speicherplatz und verlangsamen zumindest Berechnungen; Im schlimmsten Fall können doppelte Daten jedoch Analyseergebnisse verfälschen und die Integrität des Datensatzes gefährden.
Ein Open-Source-Python-Paket namens Pandas verbessert die Handhabung und Speicherung strukturierter Daten. Darüber hinaus bietet das Framework integrierte Unterstützung für Datenbereinigungsverfahren, z. B. das Suchen und Löschen doppelter Zeilen und Spalten.
Dieser Artikel beschreibt das Auffinden von Duplikaten in einem Pandas-Datenrahmen unter Verwendung aller oder einer Teilmenge der Spalten. Dazu verwenden wir die Dataframe.duplicated()
-Methode von Pandas.
Verwenden Sie die Methode DataFrame.duplicated()
, um doppelte Zeilen in einem DataFrame zu finden
Die Pandas-Bibliothek für die DataFrame
-Klasse von Python bietet eine Member-Methode, um doppelte Zeilen entweder basierend auf allen Spalten oder einer Teilmenge dieser Spalten zu erkennen, wie zum Beispiel:
DataFrame.duplicated(subset=None, keep="first")
Es gibt eine Reihe von booleschen Werten zurück, die angeben, ob eine Zeile doppelt oder eindeutig ist.
Parameter:
subset
: Dies erfordert eine Spalte oder Sammlung von Spaltenbezeichnungen. None ist der Standardwert dafür. Nach dem Passieren von Spalten werden nur Duplikate berücksichtigt.keep
: Dies regelt die Behandlung von doppelten Werten. Es gibt nur drei verschiedene Werte, wobeifirst
die Voreinstellung ist.- Bei
first
wird das erste Item als eindeutig und die restlichen Werte als Duplikate behandelt. - Wenn
neueste
, wird das letzte Element als einzigartig behandelt und die verbleibenden Werte als Duplikate. - Bei
False
werden alle identischen Werte als Duplikate betrachtet. - Es gibt die doppelten Zeilen zurück, die durch die boolesche Reihe angezeigt werden.
Erstellen Sie einen DataFrame mit doppelten Zeilen
Lassen Sie uns einen einfachen Datenrahmen mit einer Sammlung von Listen erstellen und die Spalten Name
, Alter
und Stadt
benennen.
Beispielcode:
# Import pandas library
import pandas as pd
# List of Tuples
employees = [
("Joe", 28, "Chicago"),
("John", 32, "Austin"),
("Melvin", 25, "Dallas"),
("John", 32, "Austin"),
("John", 32, "Austin"),
("John", 32, "Houston"),
("Melvin", 40, "Dehradun"),
("Hazel", 32, "Austin"),
]
df = pd.DataFrame(employees, columns=["Name", "Age", "City"])
print(df)
Ausgang:
Name Age City
0 Joe 28 Chicago
1 John 32 Austin
2 Melvin 25 Dallas
3 John 32 Austin
4 John 32 Austin
5 John 32 Houston
6 Melvin 40 Dehradun
7 Hazel 32 Austin
Wählen Sie Doppelte Zeilen basierend auf allen Spalten aus
Rufen Sie Dataframe.duplicate()
ohne einen subset
-Parameter auf, um Duplikate für alle Zeilen in Abhängigkeit von allen Spalten zu finden und auszuwählen. Wenn jedoch doppelte Zeilen vorhanden sind, wird nur eine boolesche Reihe mit True
an der Position der ersten Instanz zurückgegeben (der Standardwert des Retain-Arguments ist first
).
Übergeben Sie dann diese boolesche Reihe an den DataFrame-Operator []
, um die doppelten Zeilen auszuwählen.
Beispielcode:
# Import pandas library
import pandas as pd
# List of Tuples
employees = [
("Joe", 28, "Chicago"),
("John", 32, "Austin"),
("Melvin", 25, "Dallas"),
("John", 32, "Austin"),
("John", 32, "Austin"),
("John", 32, "Houston"),
("Melvin", 40, "Dehradun"),
("Hazel", 32, "Austin"),
]
df = pd.DataFrame(employees, columns=["Name", "Age", "City"])
duplicate = df[df.duplicated()]
print("Duplicate Rows :")
print(duplicate)
Ausgang:
Duplicate Rows :
Name Age City
3 John 32 Austin
4 John 32 Austin
Übergeben Sie retain = "last"
als Argument, wenn Sie alle Duplikate außer dem letzten berücksichtigen möchten.
Beispielcode:
# Import pandas library
import pandas as pd
# List of Tuples
employees = [
("Joe", 28, "Chicago"),
("John", 32, "Austin"),
("Melvin", 25, "Dallas"),
("John", 32, "Austin"),
("John", 32, "Austin"),
("John", 32, "Houston"),
("Melvin", 40, "Dehradun"),
("Hazel", 32, "Austin"),
]
df = pd.DataFrame(employees, columns=["Name", "Age", "City"])
duplicate = df[df.duplicated(keep="last")]
print("Duplicate Rows :")
print(duplicate)
Ausgang:
Duplicate Rows :
Name Age City
1 John 32 Austin
3 John 32 Austin
Geben Sie dann die Liste der Spaltennamen in der Untermenge
als Parameter an, wenn Sie nur doppelte Zeilen in Abhängigkeit von wenigen angegebenen Spalten auswählen möchten.
Beispielcode:
# Import pandas library
import pandas as pd
# List of Tuples
employees = [
("Joe", 28, "Chicago"),
("John", 32, "Austin"),
("Melvin", 25, "Dallas"),
("John", 32, "Austin"),
("John", 32, "Austin"),
("John", 32, "Houston"),
("Melvin", 40, "Dehradun"),
("Hazel", 32, "Austin"),
]
df = pd.DataFrame(employees, columns=["Name", "Age", "City"])
# on 'City' column
duplicate = df[df.duplicated("City")]
print("Duplicate Rows based on City:")
print(duplicate)
Ausgang:
Duplicate Rows based on City:
Name Age City
3 John 32 Austin
4 John 32 Austin
7 Hazel 32 Austin
Wählen Sie die doppelten Zeilen basierend auf mehr als einem Spaltennamen aus, z. B. Name
und Alter
.
Beispielcode:
# Import pandas library
import pandas as pd
# List of Tuples
employees = [
("Joe", 28, "Chicago"),
("John", 32, "Austin"),
("Melvin", 25, "Dallas"),
("John", 32, "Austin"),
("John", 32, "Austin"),
("John", 32, "Houston"),
("Melvin", 40, "Dehradun"),
("Hazel", 32, "Austin"),
]
df = pd.DataFrame(employees, columns=["Name", "Age", "City"])
# list of the column names
duplicate = df[df.duplicated(["Name", "Age"])]
print("Duplicate the rows based on Name and Age:")
print(duplicate)
Ausgang:
Duplicate Rows based on Name and Age:
Name Age City
3 John 32 Austin
4 John 32 Austin
5 John 32 Houston
Abschluss
Um doppelte Zeilen in einem DataFrame zu finden, verwenden Sie die Methode dataframe.duplicated()
in Pandas. Es gibt eine Reihe von booleschen Werten zurück, die angeben, ob eine Zeile doppelt oder eindeutig ist.
Wir hoffen, dass dieser Artikel Ihnen dabei geholfen hat, doppelte Zeilen in einem Datenrahmen zu finden, indem Sie alle oder eine Teilmenge der Spalten verwenden, indem Sie alle Beispiele überprüfen, die wir hier besprochen haben. Dann können Sie mit den oben beschriebenen einfachen Schritten schnell feststellen, wie Pandas verwendet werden können, um Duplikate zu finden.
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedInVerwandter Artikel - Pandas DataFrame Row
- So erhalten Sie die Zeilenanzahl eines Pandas DataFrame
- Zufälliges Mischen von DataFrame-Zeilen in Pandas
- Wie man DataFrame-Zeilen auf der Grundlage von Spaltenwerten in Pandas filtert
- Wie man durch Zeilen eines DataFrame in Pandas iteriert
- Wie erhält man einen Index aller Reihen, deren bestimmte Spalte den gegebenen Zustand in Pandas befriedigt