Heim  >  Artikel  >  Backend-Entwicklung  >  Vorstellung der effizienten Datendeduplizierungsmethode in Pandas: Tipps zum schnellen Entfernen doppelter Daten

Vorstellung der effizienten Datendeduplizierungsmethode in Pandas: Tipps zum schnellen Entfernen doppelter Daten

王林
王林Original
2024-01-24 08:12:061408Durchsuche

Vorstellung der effizienten Datendeduplizierungsmethode in Pandas: Tipps zum schnellen Entfernen doppelter Daten

Die Pandas-Deduplizierungsmethode enthüllte: Eine schnelle und effiziente Datendeduplizierungsmethode erfordert spezifische Codebeispiele

Beim Prozess der Datenanalyse und -verarbeitung kommt es häufig zu Duplikaten in den Daten. Doppelte Daten können die Analyseergebnisse verfälschen, daher ist die Deduplizierung ein sehr wichtiger Schritt. Pandas, eine leistungsstarke Datenverarbeitungsbibliothek, bietet eine Vielzahl von Methoden zur Datendeduplizierung. In diesem Artikel werden einige häufig verwendete Deduplizierungsmethoden vorgestellt und spezifische Codebeispiele angehängt.

  1. Basierend auf der Deduplizierung einzelner Spalten

Die häufigste Situation ist die Deduplizierung basierend darauf, ob der Wert einer bestimmten Spalte wiederholt wird. In Pandas können Sie die Methode .duplicated() verwenden, um zu bestimmen, ob die Werte einer Spalte dupliziert sind, und dann die Methode .drop_duplicates() zum Entfernen verwenden doppelte Werte. .duplicated()方法来判断某一列的值是否重复,然后使用.drop_duplicates()方法来去除重复值。

例如,我们有一个包含了学生信息的DataFrame,其中有一个列是学生的学号,我们希望根据学号去除重复的行:

import pandas as pd

data = {'学号': [1001, 1002, 1003, 1002, 1004, 1003],
        '姓名': ['张三', '李四', '王五', '李四', '赵六', '王五'],
        '年龄': [18, 19, 20, 19, 21, 20]}

df = pd.DataFrame(data)

df.drop_duplicates(subset='学号', inplace=True)
print(df)

运行结果:

    学号  姓名  年龄
0  1001  张三  18
1  1002  李四  19
2  1003  王五  20
4  1004  赵六  21

这样就去除了学号重复的行,只保留了第一次出现的行。

  1. 基于多列去重

有时候我们需要根据多个列的值是否重复来进行去重。在.drop_duplicates()方法中可以通过subset参数指定要根据哪些列进行去重。

例如,我们还是使用上面的学生信息的DataFrame,现在根据学号和姓名去除重复的行:

import pandas as pd

data = {'学号': [1001, 1002, 1003, 1002, 1004, 1003],
        '姓名': ['张三', '李四', '王五', '李四', '赵六', '王五'],
        '年龄': [18, 19, 20, 19, 21, 20]}

df = pd.DataFrame(data)

df.drop_duplicates(subset=['学号', '姓名'], inplace=True)
print(df)

运行结果:

    学号  姓名  年龄
0  1001  张三  18
1  1002  李四  19
2  1003  王五  20
4  1004  赵六  21

这样就根据学号和姓名同时去除了重复的行。

  1. 基于所有列去重

有时候我们希望根据整个DataFrame的所有列的值是否重复来进行去重。可以使用.duplicated()方法的keep参数设置为False,则会标记所有重复的行。然后使用.drop_duplicates()

Zum Beispiel haben wir einen DataFrame, der Studenteninformationen enthält, und eine der Spalten ist die Studentennummer. Wir hoffen, doppelte Zeilen basierend auf der Studentennummer zu entfernen:

import pandas as pd

data = {'学号': [1001, 1002, 1003, 1002, 1004, 1003],
        '姓名': ['张三', '李四', '王五', '李四', '赵六', '王五'],
        '年龄': [18, 19, 20, 19, 21, 20]}

df = pd.DataFrame(data)

df.drop_duplicates(keep=False, inplace=True)
print(df)

Laufendes Ergebnis:

    学号  姓名  年龄
0  1001  张三  18
4  1004  赵六  21

Dadurch werden doppelte Studentennummern entfernt Bei Zeilen wird nur das erste Vorkommen der Zeile beibehalten.

    Deduplizierung basierend auf mehreren Spalten

    Manchmal müssen wir basierend darauf deduplizieren, ob die Werte mehrerer Spalten wiederholt werden. In der Methode .drop_duplicates() können Sie mit dem Parameter subset angeben, welche Spalten für die Deduplizierung verwendet werden sollen.

    Zum Beispiel verwenden wir immer noch den obigen DataFrame der Studenteninformationen und entfernen jetzt doppelte Zeilen basierend auf der Studenten-ID und dem Namen:

    rrreee🎜Laufergebnisse: 🎜rrreee🎜Auf diese Weise werden doppelte Zeilen basierend auf der Studenten-ID und dem Namen entfernt gleichzeitig. 🎜
      🎜Deduplizierung basierend auf allen Spalten🎜🎜🎜Manchmal möchten wir eine Deduplizierung basierend darauf durchführen, ob die Werte aller Spalten im gesamten DataFrame wiederholt werden. Sie können die Methode .duplicated() verwenden, um den Parameter keep auf False zu setzen, und alle doppelten Zeilen werden markiert. Verwenden Sie dann die Methode .drop_duplicates(), um diese doppelten Zeilen zu entfernen. 🎜🎜Zum Beispiel verwenden wir immer noch den obigen DataFrame der Studenteninformationen und entfernen jetzt doppelte Zeilen basierend auf allen Spalten des gesamten DataFrame: 🎜rrreee🎜Laufergebnisse: 🎜rrreee🎜Auf diese Weise werden alle doppelten Zeilen im gesamten DataFrame entfernt . 🎜🎜Zusammenfassung: 🎜🎜In diesem Artikel werden drei häufig verwendete Deduplizierungsmethoden in Pandas vorgestellt: Deduplizierung basierend auf einer einzelnen Spalte, Deduplizierung basierend auf mehreren Spalten und Deduplizierung basierend auf allen Spalten. Wählen Sie entsprechend den tatsächlichen Anforderungen die geeignete Methode aus, um doppelte Daten schnell und effizient zu entfernen. In praktischen Anwendungen können diese Methoden je nach spezifischen Daten und Anforderungen flexibel eingesetzt werden, um die Effizienz der Datenverarbeitung und -analyse zu verbessern. 🎜🎜Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass die Leser davon profitieren und Pandas besser für die Datendeduplizierung einsetzen können. 🎜

Das obige ist der detaillierte Inhalt vonVorstellung der effizienten Datendeduplizierungsmethode in Pandas: Tipps zum schnellen Entfernen doppelter Daten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn