Python
Spalten in Pandas mühelos umbenennen: Ein Anfängerleitfaden

Spalten in Pandas mühelos umbenennen: Ein Anfängerleitfaden

MoeNagy Dev

Verständnis der Funktion df.rename()

Grundlagen der Funktion df.rename()

Die Funktion df.rename() in Pandas wird verwendet, um die Spalten (oder Zeilen) eines DataFrames umzubenennen. Mit dieser Funktion können Sie die Namen einer oder mehrerer Spalten ändern und somit die Arbeit mit Ihren Daten erleichtern und die Lesbarkeit verbessern.

Syntax und Parameter

Die grundlegende Syntax für die Funktion df.rename() lautet:

df.rename(mapper=None, index=None, columns=None, axis=None, inplace=False, **kwargs)

Die Hauptparameter sind:

  • mapper: Ein Wörterbuch oder eine Funktion zur Umbenennung der Spalten oder des Index.
  • index: Ein Wörterbuch oder eine Funktion zur Umbenennung des Index.
  • columns: Ein Wörterbuch oder eine Funktion zur Umbenennung der Spalten.
  • axis: Die Achse, entlang derer die Umbenennung angewendet wird (0 für Zeilen, 1 für Spalten).
  • inplace: Wenn dieser Parameter auf True gesetzt wird, wird die Umbenennung direkt im DataFrame vorgenommen und das DataFrame geändert. Wenn False ist, wird ein neues DataFrame zurückgegeben.

Rückgabe eines neuen DataFrames vs. Änderung des ursprünglichen DataFrames

Standardmäßig gibt die Funktion df.rename() ein neues DataFrame mit den umgeänderten Spalten zurück und lässt das ursprüngliche DataFrame unverändert. Wenn Sie das ursprüngliche DataFrame direkt ändern möchten, können Sie den Parameter inplace auf True setzen.

# Umbenennung der Spalten und Rückgabe eines neuen DataFrames
df_umbenannt = df.rename(columns={'alte_spalte': 'neue_spalte'})
 
# Umbenennen der Spalten direkt im DataFrame
df.rename(columns={'alte_spalte': 'neue_spalte'}, inplace=True)

Spalten nach Namen umbenennen

Umbenennen einer einzelnen Spalte

Um eine einzelne Spalte umzubenennen, können Sie dem columns-Parameter ein Wörterbuch übergeben, wobei der Schlüssel der alte Spaltenname und der Wert der neue Spaltenname ist.

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.rename(columns={'A': 'neues_a'})

Umbenennen mehrerer Spalten

Sie können auch mehrere Spalten auf einmal umbenennen, indem Sie ein Wörterbuch mit mehreren Schlüssel-Wert-Paaren übergeben.

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df = df.rename(columns={'A': 'neues_a', 'B': 'neues_b', 'C': 'neues_c'})

Verwendung eines Wörterbuchs zur Umbenennung von Spalten

Anstatt die Spaltennamen direkt zu übergeben, können Sie ein Wörterbuch verwenden, um die alten Spaltennamen den neuen zuzuordnen.

df = pd.DataFrame({'first_name': ['John', 'Jane', 'Bob'], 'last_name': ['Doe', 'Doe', 'Smith']})
umbenennungs_wörterbuch = {'first_name': 'name', 'last_name': 'nachname'}
df = df.rename(columns=umbenennungs_wörterbuch)

Behandlung der Groß- und Kleinschreibung

Standardmäßig berücksichtigt die Funktion df.rename() die Groß- und Kleinschreibung. Wenn Sie die Groß- und Kleinschreibung nicht beachten möchten, können Sie den Parameter case_sensitive=False verwenden.

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df = df.rename(columns={'a': 'neues_a'}, case_sensitive=False)

Umbenennen von Spalten nach Indexposition

Umbenennen von Spalten nach ihrer numerischen Indexposition

Sie können auch Spalten anhand ihrer numerischen Indexposition umbenennen. Dies kann nützlich sein, wenn Sie eine große Anzahl von Spalten haben und nicht jede explizit benennen möchten.

df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['A', 'B', 'C'])
df = df.rename(columns={0: 'neues_a', 2: 'neues_c'})

Umgang mit Spalten mit doppelten Namen

Wenn Ihr DataFrame Spalten mit doppelten Namen enthält, können Sie den columns-Parameter verwenden, um sie umzubenennen.

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'A': [7, 8, 9]})
df = df.rename(columns={'A_x': 'neues_a', 'A_y': 'neues_a2'})

Anwendung von Transformationen auf Spaltennamen

Verwendung von Lambda-Funktionen zur Transformation von Spaltennamen

Sie können Lambda-Funktionen verwenden, um benutzerdefinierte Transformationen auf die Spaltennamen anzuwenden.

df = pd.DataFrame({'first_name': ['John', 'Jane', 'Bob'], 'last_name': ['Doe', 'Doe', 'Smith']})
df = df.rename(columns=lambda x: x.lower().replace(' ', '_'))

Anwendung von Zeichenkettenmethoden auf Spaltennamen

Pandas ermöglicht es Ihnen auch, Zeichenkettenmethoden zum Transformieren der Spaltennamen zu verwenden.

df = pd.DataFrame({'First Name': ['John', 'Jane', 'Bob'], 'Last Name': ['Doe', 'Doe', 'Smith']})
df = df.rename(columns=str.lower)
df = df.rename(columns=str.replace, old=' ', new='_')

Kombinieren mehrerer Transformationen

Sie können mehrere Transformationen kombinieren, um komplexere Änderungen der Spaltennamen zu erreichen.

df = pd.DataFrame({'First Name': ['John', 'Jane', 'Bob'], 'Last Name': ['Doe', 'Doe', 'Smith']})
df = df.rename(columns=lambda x: x.lower().replace(' ', '_'))

Bedingte Umbenennung von Spalten

Umbenennen von Spalten basierend auf bestimmten Bedingungen

Sie können boolesche Masken verwenden, um Spalten selektiv umzubenennen, basierend auf bestimmten Bedingungen.

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
df = df.rename(columns=lambda x: 'neu_' + x if x.startswith('A') else x)

Verwendung von booleschen Masken zur Auswahl von Spalten zum Umbenennen

Sie können auch boolesche Masken verwenden, um die Spalten auszuwählen, die Sie umbenennen möchten.

df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
spalten_zum_umbenennen = ['A', 'C']
df = df.rename(columns={spalte: 'neu_' + spalte for spalte in spalten_zum_umbenennen})

Kombinieren der bedingten Umbenennung mit anderen Techniken

Sie können die bedingte Umbenennung mit anderen Techniken kombinieren, z. B. mit der Verwendung von Wörterbüchern oder Lambda-Funktionen.

df = pd.DataFrame({'first_name': ['John', 'Jane', 'Bob'], 'last_name': ['Doe', 'Doe', 'Smith'], 'age': [30, 25, 35]})
umbenennungs_wörterbuch = {'first_name': 'name', 'last_name': 'nachname'}
df = df.rename(columns=lambda x: umbenennungs_wörterbuch.get(x, x))

Umgang mit Benutzereingaben

Benutzereingabe mit input() erhalten

Die input() Funktion wird verwendet, um Benutzereingaben in Python zu erhalten. Sie fordert den Benutzer auf, einen Wert einzugeben, der dann in einer Variable gespeichert wird. Hier ist ein Beispiel:

name = input("Wie ist Ihr Name? ")
print("Hallo, " + name + "!")

In diesem Beispiel wird die input() Funktion mit dem Text "Wie ist Ihr Name? " aufgerufen und wartet darauf, dass der Benutzer einen Wert eingibt. Die Eingabe des Benutzers wird dann in der Variable name gespeichert und in der print() Anweisung verwendet.

Umgang mit verschiedenen Datentypen

Die input() Funktion liefert immer einen String zurück, auch wenn der Benutzer eine Zahl eingibt. Wenn Sie mit einem anderen Datentyp arbeiten möchten, müssen Sie die Eingabe konvertieren. Hier ist ein Beispiel zum Abrufen einer Ganzzahl vom Benutzer:

age = int(input("Wie alt sind Sie? "))
print("Sie sind " + str(age) + " Jahre alt.")

In diesem Beispiel verwenden wir die int() Funktion, um die Eingabe des Benutzers in eine Ganzzahl umzuwandeln und in der Variable age zu speichern. Wir verwenden dann die str() Funktion, um die Ganzzahl wieder in einen String für die print() Anweisung umzuwandeln.

Arbeiten mit Dateien

Öffnen und Schließen von Dateien

Um mit Dateien in Python zu arbeiten, verwenden Sie die open() Funktion. Diese Funktion nimmt zwei Argumente entgegen: den Dateinamen und den Modus (z.B. lesen, schreiben, anhängen). Hier ist ein Beispiel zum Öffnen einer Datei zum Lesen:

file = open("beispiel.txt", "r")
# Machen Sie etwas mit der Datei
file.close()

In diesem Beispiel öffnen wir die Datei "beispiel.txt" im Lese-Modus ("r"). Nachdem wir mit der Datei fertig sind, schließen wir sie mit der Methode close().

Aus Dateien lesen

Sobald Sie eine Datei geöffnet haben, können Sie ihren Inhalt mit verschiedenen Methoden lesen. Hier ist ein Beispiel zum Lesen des gesamten Inhalts einer Datei:

file = open("beispiel.txt", "r")
inhalt = file.read()
print(inhalt)
file.close()

Dies gibt den gesamten Inhalt der Datei "beispiel.txt" aus.

In Dateien schreiben

Um in eine Datei zu schreiben, müssen Sie sie im Schreibmodus ("w") öffnen. Hier ist ein Beispiel:

file = open("beispiel.txt", "w")
file.write("Dies ist ein Text, der in die Datei geschrieben wird.")
file.close()

Dies erstellt eine neue Datei namens "beispiel.txt" (oder überschreibt die vorhandene) und schreibt den angegebenen Text in sie.

An Dateien anhängen

Wenn Sie neuen Inhalt zu einer vorhandenen Datei hinzufügen möchten, können Sie sie im Anhänge-Modus ("a") öffnen. Hier ist ein Beispiel:

file = open("beispiel.txt", "a")
file.write("\nDies ist ein zusätzlicher Text.")
file.close()

Dies fügt den neuen Text am Ende der Datei "beispiel.txt" hinzu.

Arbeiten mit Modulen

Importieren von Modulen

Die Standardbibliothek von Python enthält eine Vielzahl von eingebauten Modulen, die Sie in Ihren Programmen verwenden können. Um ein Modul zu verwenden, müssen Sie es importieren. Hier ist ein Beispiel zum Importieren des math Moduls:

import math
print(math.pi)

Dies gibt den Wert von pi aus dem math Modul aus.

Verwenden von Modul-Funktionen

Sobald Sie ein Modul importiert haben, können Sie auf seine Funktionen und Variablen mit dem Modulnamen gefolgt von einem Punkt zugreifen. Hier ist ein Beispiel zur Verwendung der sqrt() Funktion aus dem math Modul:

import math
ergebnis = math.sqrt(16)
print(ergebnis)  # Ausgabe: 4.0

Spezifische Funktionen importieren

Wenn Sie nur wenige Funktionen aus einem Modul benötigen, können Sie sie direkt importieren, anstatt das gesamte Modul zu importieren. Hier ist ein Beispiel:

from math import sqrt, pi
print(sqrt(16))  # Ausgabe: 4.0
print(pi)  # Ausgabe: 3.141592653589793

Auf diese Weise können Sie die sqrt() und pi Funktionen direkt verwenden, ohne sie mit math. zu präfixieren.

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie Benutzereingaben mit der input() Funktion verarbeiten, Dateien öffnen, lesen, schreiben und anhängen und Python-Module aus der Standardbibliothek verwenden, um die Funktionalität Ihrer Programme zu erweitern. Dies sind grundlegende Fähigkeiten für jeden Python-Entwickler, und wenn Sie sie beherrschen, können Sie leistungsfähigere und vielseitigere Anwendungen erstellen.

Denken Sie daran, der Schlüssel zum Erlernen einer professionellen Python-Programmierung besteht darin, zu üben, zu experimentieren und weiter zu lernen. Erforschen Sie die umfangreiche Palette von Python-Bibliotheken und -Modulen und scheuen Sie sich nicht, anspruchsvollere Projekte anzugehen, während Ihre Fähigkeiten wachsen. Viel Spaß beim Codieren!

MoeNagy Dev