Pandas ist eine leistungsstarke Python-Bibliothek, die für die Datenmanipulation und Datenanalyse entwickelt wurde. Eine der nützlichsten Funktionen von Pandas ist seine Fähigkeit, neue Spalten in vorhandenen Datensätzen zu erstellen oder bestehende Spalten zu modifizieren. In diesem Blogartikel werden wir uns darauf konzentrieren, wie man neue Spalten in Pandas erstellt und wie wir sie optimieren können, um unsere Daten zu analysieren.
Die grundlegende Syntax zum Erstellen neuer Spalten
Um eine neue Spalte zu einem DataFrame in Pandas hinzuzufügen, verwenden wir die folgende Syntax:
“’python
DataFrame[‚Neue Spaltenbezeichnung‘] = Wert
“‘
Der Wert kann sein:
- Ein Array oder eine Liste
- Ein skalares Element
- Eine Funktion, die auf den vorhandenen Spalten basiert
Um das besser zu verstehen, werfen wir einen Blick auf ein Beispiel.
Angenommen, wir haben einen DataFrame mit Informationen über Bücher, darunter Titel, Autor und Jahr der Veröffentlichung. Wir möchten eine neue Spalte hinzufügen, die das Alter der Bücher berechnet. Der Code sieht folgendermaßen aus:
“’python
import pandas as pd
# DataFrame erstellen
data = {‚Titel‘: [‚Die Verwandlung‘, ‚Der Fremde‘, ‚Die Odyssee‘],
‚Autor‘: [‚Franz Kafka‘, ‚Albert Camus‘, ‚Homer‘],
‚Jahr‘: [1915, 1942, 800 v. Chr.]}
df = pd.DataFrame(data)
# Neue Spalte ‚Alter‘ hinzufügen
df[‚Alter‘] = 2022 – df[‚Jahr‘]
print(df)
“‘
Der resultierende DataFrame sieht wie folgt aus:
“‘
Titel Autor Jahr Alter
0 Die Verwandlung Franz Kafka 1915 107
1 Der Fremde Albert Camus 1942 80
2 Die Odyssee Homer 800 v. Chr. 2822
“‘
Spalten basierend auf vorhandenen Spalten erstellen
Ein häufiges Szenario ist die Erstellung einer neuen Spalte basierend auf den bereits vorhandenen Spalten. Pandas bietet verschiedene Möglichkeiten, dies zu erreichen:
Zusammenführen von Spalten
Wir können neue Spalten erstellen, indem wir vorhandene Spalten zusammenführen oder diese mathematisch verarbeiten. Hier ist ein Beispiel:
“’python
df[‚Titel_Autor‘] = df[‚Titel‘] + “ von “ + df[‚Autor‘]
“‘
Der resultierende DataFrame sieht wie folgt aus:
“‘
Titel Autor Jahr Alter Titel_Autor
0 Die Verwandlung Franz Kafka 1915 107 Die Verwandlung von Franz Kafka
1 Der Fremde Albert Camus 1942 80 Der Fremde von Albert Camus
2 Die Odyssee Homer 800 v. Chr. 2822 Die Odyssee von Homer
“‘
Um numerische Operationen auf vorhandenen Spalten durchzuführen, können wir auch den Python-Mathematik-Operator verwenden:
“’python
df[‚Jahr_plus_100‘] = df[‚Jahr‘] + 100
“‘
Der resultierende DataFrame sieht wie folgt aus:
“‘
Titel Autor Jahr Alter Jahr_plus_100
0 Die Verwandlung Franz Kafka 1915 107 2015
1 Der Fremde Albert Camus 1942 80 2042
2 Die Odyssee Homer 800 v. Chr. 2822 900 v. Chr.
“‘
Neue Spalte basierend auf Funktionen erstellen
Eine andere Möglichkeit, neue Spalten zu erstellen, besteht darin, benutzerdefinierte Funktionen zu definieren und diese auf die vorhandenen Spalten anzuwenden. Nehmen wir an, wir möchten eine neue Spalte erstellen, in der die Länge des Buchtitels für jeden Eintrag berechnet wird. Der Code sieht folgendermaßen aus:
“’python
def titellänge(titel):
return len(titel)
df[‚Titel_Länge‘] = df[‚Titel‘].apply(titellänge)
“‘
Der resultierende DataFrame sieht wie folgt aus:
“‘
Titel Autor Jahr Alter Jahr_plus_100 Titel_Länge
0 Die Verwandlung Franz Kafka 1915 107 2015 16
1 Der Fremde Albert Camus 1942 80 2042 12
2 Die Odyssee Homer 800 v. Chr. 2822 900 v. Chr. 11
“‘
Pandas verstehen #08 – Spalten zu einem DataFrame hinzufügen
Optimierung der Spaltenoperationen
Bei der Erstellung neuer Spalten in Pandas ist es wichtig, optimierte Techniken anzuwenden, um die Effizienz zu verbessern. Hier sind einige bewährte Methoden, die in Betracht gezogen werden sollten:
Vektorisierung
Vektorisierung bezieht sich auf die Anwendung von Operationen auf gesamte Spalten oder Arrays anstelle der Verwendung von Schleifen, um jeden Wert einzeln zu verarbeiten. Dies ist in der Regel viel schneller und effizienter. Beispiel:
“’python
df[‚Doppeltes_Alter‘] = df[‚Alter‘] * 2
“‘
Die ‚apply()‘-Funktion vermeiden
Die ‚apply()‘-Funktion ermöglicht die Anwendung benutzerdefinierter Funktionen auf Spalten, aber sie kann langsam sein, insbesondere bei großen Datensätzen. Wenn möglich, sollten eingebaute Pandas-Funktionen bevorzugt werden. Beispiel:
“’python
df[‚Upper_Titel‘] = df[‚Titel‘].str.upper()
“‘
Verwendung der ‚assign()‘-Funktion
Die ‚assign()‘-Funktion erlaubt es uns, mehrere Spalten in einem Schritt zu erstellen oder zu modifizieren. Beispiel:
“’python
df = df.assign(Jahr_plus_100 = df[‚Jahr‘] + 100,
Titellänge = df[‚Titel‘].apply(titellänge))
“‘
Fazit
In diesem Blogartikel haben wir gelernt, wie man neue Spalten in Pandas erstellt. Wir haben die grundlegende Syntax zum Erstellen neuer Spalten kennengelernt und gelernt, wie man Spalten basierend auf vorhandenen Spalten oder mit Hilfe von Funktionen erstellt. Wir haben auch einige bewährte Methoden zur Optimierung von Spaltenoperationen kennengelernt.
Das Erstellen neuer Spalten in Pandas ist eine grundlegende Fähigkeit, die für die Datenmanipulation und -analyse unerlässlich ist. Mit den in diesem Artikel vorgestellten Techniken sollten Sie in der Lage sein, Ihre Daten effizient zu analysieren und neue Erkenntnisse zu gewinnen.