SVERWEIS() oder XVERWEIS() mit Python in Excel durchführen

In der heutigen Excel-Welt wird die Zusammenführung von Daten mithilfe von SVERWEIS() oder XVERWEIS() als selbstverständlich angesehen. Aber wussten Sie, dass Sie diese Aufgabe auch problemlos in Python mit pd.merge erledigen können? In diesem Artikel werfen wir einen Blick auf die Grundlagen der Verwendung von pd.merge in Python, um Daten miteinander zu verknüpfen. Hierzu wurde ein interessantes Video auf YouTube veröffentlicht, welches Sie am Ende des Beitrags finden.

Einführung

Bevor wir in die Details eintauchen, ist es wichtig zu verstehen, wie pd.merge in Python funktioniert. Diese Methode ermöglicht es uns, zwei Datensätze basierend auf gemeinsamen Spalten zu verknüpfen. Ähnlich wie bei einem SVERWEIS() in Excel, werden die Daten entsprechend zusammengeführt. Wir beginnen mit einer einfachen Anwendung von pd.merge, vergleichbar mit einem SVERWEIS() in Excel.

Grundlagen eines SVERWEIS() in Python mit pd.merge

Angenommen, wir haben einen großen Datensatz auf der linken Seite und eine kleine Verweis-Tabelle auf der rechten Seite. Unser Ziel ist es, das Feld “Sector” aus der Verweis-Tabelle abzurufen und es zum Hauptdatensatz hinzuzufügen.

# Importieren der erforderlichen Bibliothek
import pandas as pd

# Definieren des Hauptdatensatzes
df = pd.read_csv('main_data.csv')

# Definieren der Lookup-Tabelle
lookup_table = pd.read_csv('lookup_table.csv')

# Verknüpfen der Daten basierend auf der Spalte "Customer"
result = pd.merge(df, lookup_table, on='Customer', how='left')

In diesem Beispiel verwenden wir pd.merge, um die Daten basierend auf der gemeinsamen Spalte “Customer” zu verknüpfen. Das Ergebnis enthält alle ursprünglichen Spalten sowie das neue “Sector”-Feld aus der Verweis-Tabelle.

Behandlung fehlender Kunden in der Verweis-Tabelle

Manchmal fehlen Kunden in der Verweis-Tabelle, was zu Problemen führen kann. In Excel verwenden wir oft WENNFEHLER(), um solche Fehler zu behandeln. In Python können wir die Methode .fillna verwenden, um fehlende Werte zu behandeln.

# Fehlende Werte in der Lookup-Tabelle mit Leerzeichen ersetzen
result['Sector'].fillna('', inplace=True)

Hier verwenden wir .fillna, um fehlende Werte im “Sector”-Feld mit Leerzeichen zu ersetzen. Dies entspricht dem, was WENNFEHLER() in Excel tut.

Begrenzen der zurückgegebenen Felder aus der Verweis-Tabelle

Eine interessante Eigenschaft von pd.merge ist die Fähigkeit, nur die benötigten Felder aus der Verweis-Tabelle zu extrahieren. Dies ist besonders nützlich, wenn die Verweis-Tabelle zusätzliche Felder enthält, die im Hauptdatensatz nicht benötigt werden.

# Nur das "Sector"-Feld aus der Lookup-Tabelle extrahieren
result = pd.merge(df, lookup_table[['Customer', 'Sector']], on='Customer', how='left')

Indem wir die benötigten Spalten in der Verweis-Tabelle auswählen, stellen wir sicher, dass nur die relevanten Daten in das Ergebnis aufgenommen werden.

Umgang mit nicht übereinstimmenden Spaltenüberschriften

In Excel kann es vorkommen, dass die Spaltenüberschriften in den beiden Datenquellen nicht übereinstimmen. In pd.merge gibt es Optionen, um festzulegen, welche Spalten für die Verknüpfung verwendet werden sollen.

# Verknüpfung basierend auf unterschiedlichen Spaltenüberschriften
result = pd.merge(df, lookup_table, left_on='Customer', right_on='Account', how='left')

In diesem Beispiel verwenden wir die Parameter “left_on” und “right_on“, um festzulegen, welche Spalten für die Verknüpfung verwendet werden. Dies ermöglicht es uns, nicht übereinstimmende Überschriften zu behandeln.

Umgang mit Duplikaten in der Verweis-Tabelle

Ein weiterer wichtiger Aspekt ist der Umgang mit Duplikaten in der Verweis-Tabelle. In Excel gibt uns SVERWEIS() immer nur das erste übereinstimmende Element zurück. In Python können wir mithilfe von .drop_duplicates wählen, ob wir das erste oder das letzte übereinstimmende Element verwenden möchten.

# Entfernen von Duplikaten basierend auf der Spalte "Customer"
lookup_table.drop_duplicates(subset='Customer', keep='first', inplace=True)

Hier verwenden wir .drop_duplicates, um Duplikate in der Verweis-Tabelle basierend auf der Spalte “Customer” zu entfernen und nur das erste Element zu behalten. Dies entspricht dem Verhalten von SVERWEIS() in Excel.

Verknüpfung anhand mehrerer Schlüssel

Schließlich sollten wir die Möglichkeit in Betracht ziehen, Daten anhand mehrerer Schlüsselspalten zu verknüpfen. Dies ist äußerst hilfreich, wenn wir komplexe Verknüpfungen benötigen.

# Verknüpfung basierend auf den Spalten "Region" und "Customer"
result = pd.merge(df, lookup_table, left_on=['Region', 'Customer'], right_on=['Region', 'Account'], how='left')

Hier verwenden wir sowohl “left_on” als auch “right_on“, um die Verknüpfung anhand der Spalten “Region” und “Customer” durchzuführen. Dies ermöglicht uns eine flexiblere Datenverknüpfung.

Fazit

In diesem Artikel erhalten Sie einen Überblick über die Verwendung von pd.merge in Python für Datenverknüpfungen. Sie können ersehen, wie Sie Daten verknüpfen, fehlende Werte behandeln, nicht übereinstimmende Überschriften bewältigen, Duplikate entfernen und sogar anhand mehrerer Schlüssel verknüpfen können. Dies sind wichtige Techniken für Excel-Benutzer, die Python in ihre Datenverarbeitungstools integrieren möchten. Python und pd.merge bieten eine leistungsstarke Alternative zu Excel-Funktionen wie SVERWEIS() und XVERWEIS().

Hier finden Sie das YouTube-Video mit den Beispielen und Demos:

Quelle des YouTube-Videos: https://youtu.be/h6__fB7vo4k?si=W1FiJzyuwstbNTN_

Weitere interessante Artikel zu dem Thema:

Gefällt Ihnen exceltricks?

Liebe Besucher, wenn Ihnen meine Webseite gefällt und Sie meine Arbeit schätzen, können Sie mir gerne eine finanzielle Unterstützung zukommen lassen. Buy Me a Coffee bietet Ihnen eine einfache Möglichkeit, mich zu unterstützen. Jeder Beitrag hilft mir, meine Arbeit fortzusetzen und bessere Inhalte zu produzieren. Klicken Sie auf den untenstehenden Link, um mir einen virtuellen Kaffee zu spendieren. Vielen Dank für Ihre Großzügigkeit! https://www.buymeacoffee.com/exceltricks

search previous next tag category expand menu location phone mail time cart zoom edit close