Dieser Artikel zeigt Ihnen, wie Sie Duplikate in Daten finden und die Duplikate mit den Pandas Python-Funktionen entfernen können.
In diesem Artikel haben wir einen Datensatz der Bevölkerung verschiedener Bundesstaaten in den Vereinigten Staaten entnommen, der in a .csv-Dateiformat. Wir werden die lesen .csv-Datei, um den ursprünglichen Inhalt dieser Datei wie folgt anzuzeigen:
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
print(df_state)
Im folgenden Screenshot sehen Sie den doppelten Inhalt dieser Datei:
Identifizieren von Duplikaten in Pandas Python
Es muss festgestellt werden, ob die von Ihnen verwendeten Daten doppelte Zeilen enthalten. Um zu überprüfen, ob Datenduplizierungen vorliegen, können Sie eine der in den folgenden Abschnitten behandelten Methoden verwenden.
Methode 1:
Lesen Sie die csv-Datei und übergeben Sie sie an den Datenrahmen. Identifizieren Sie dann die doppelten Zeilen mit dem dupliziert () Funktion. Verwenden Sie schließlich die print-Anweisung, um die doppelten Zeilen anzuzeigen.
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.dupliziert()]
print("\n\nDoppelte Zeilen: \n ".format(Dup_Rows))
Methode 2:
Mit dieser Methode wird die ist_dupliziert Spalte wird am Ende der Tabelle hinzugefügt und bei doppelten Zeilen als 'Wahr' markiert.
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
df_state["ist_duplicate"]= df_state.dupliziert ()
print("\n ".format(df_state))
Duplikate in Pandas Python löschen
Doppelte Zeilen können mit der folgenden Syntax aus Ihrem Datenrahmen entfernt werden:
drop_duplicates(subset=", keep=", inplace=False)
Die obigen drei Parameter sind optional und werden im Folgenden näher erläutert:
behalten: dieser Parameter hat drei verschiedene Werte: First, Last und False. Der Wert First behält das erste Vorkommen und entfernt nachfolgende Duplikate, der Wert Last behält nur das letzte Vorkommen und entfernt alle vorherigen Duplikate und der Wert False entfernt alle duplizierten Zeilen.
Teilmenge: Label, das verwendet wird, um die duplizierten Zeilen zu identifizieren
an Ort und Stelle: enthält zwei Bedingungen: Wahr und Falsch. Dieser Parameter entfernt doppelte Zeilen, wenn er auf True gesetzt ist.
Duplikate entfernen und nur das erste Vorkommen behalten
Wenn Sie „keep=first“ verwenden, wird nur das Vorkommen der ersten Zeile beibehalten und alle anderen Duplikate werden entfernt.
Beispiel
In diesem Beispiel wird nur die erste Zeile beibehalten und die verbleibenden Duplikate werden gelöscht:
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.dupliziert()]
print("\n\nDoppelte Zeilen: \n ".format(Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates(keep='first')
print('\n\nErgebnis DataFrame nach Duplikatentfernung :\n', DF_RM_DUP.Kopf(n=5))
Im folgenden Screenshot wird das beibehaltene Vorkommen der ersten Zeile rot hervorgehoben und die verbleibenden Duplikate werden entfernt:
Duplikate entfernen und nur das letzte Vorkommen behalten
Wenn Sie „keep=last“ verwenden, werden alle doppelten Zeilen mit Ausnahme des letzten Vorkommens entfernt.
Beispiel
Im folgenden Beispiel werden alle duplizierten Zeilen mit Ausnahme des letzten Vorkommens entfernt.
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.dupliziert()]
print("\n\nDoppelte Zeilen: \n ".format(Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates(keep='last')
print('\n\nErgebnis DataFrame nach Duplikatentfernung :\n', DF_RM_DUP.Kopf(n=5))
In der folgenden Abbildung werden die Duplikate entfernt und nur das Vorkommen der letzten Zeile beibehalten:
Alle doppelten Zeilen entfernen Row
Um alle doppelten Zeilen aus einer Tabelle zu entfernen, setzen Sie „keep=False“ wie folgt:
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.dupliziert()]
print("\n\nDoppelte Zeilen: \n ".format(Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates(keep=False)
print('\n\nErgebnis DataFrame nach Duplikatentfernung :\n', DF_RM_DUP.Kopf(n=5))
Wie Sie in der folgenden Abbildung sehen können, werden alle Duplikate aus dem Datenrahmen entfernt:
Zugehörige Duplikate aus einer angegebenen Spalte entfernen
Standardmäßig prüft die Funktion alle duplizierten Zeilen aus allen Spalten im angegebenen Datenrahmen. Sie können den Spaltennamen aber auch mit dem Subset-Parameter angeben.
Beispiel
Im folgenden Beispiel werden alle zugehörigen Duplikate aus der Spalte 'States' entfernt.
Pandas als pd importierendf_state=pd.read_csv("C:/Benutzer/DELL/Desktop/population_ds.csv")
Dup_Rows = df_state[df_state.dupliziert()]
print("\n\nDoppelte Zeilen: \n ".format(Dup_Rows))
DF_RM_DUP = df_state.drop_duplicates(subset='Zustand')
print('\n\nErgebnis DataFrame nach Duplikatentfernung :\n', DF_RM_DUP.Kopf(n=6))
Fazit
In diesem Artikel wurde gezeigt, wie Sie doppelte Zeilen aus einem Datenrahmen entfernen, indem Sie die drop_duplicates() Funktion in Pandas Python. Sie können mit dieser Funktion auch Ihre Daten von Duplizierung oder Redundanz löschen. Der Artikel hat Ihnen auch gezeigt, wie Sie Duplikate in Ihrem Datenrahmen identifizieren können.