Kombinieren Sie zwei Textspalten in DataFrame in Pandas
Wenn Sie mit Datensätzen arbeiten, müssen Sie manchmal zwei oder mehr Spalten zu einer Spalte kombinieren. Zum Beispiel haben Sie einen Datensatz mit first name
und last name
in Spalten getrennt, und nun benötigen Sie die Spalte Full Name
. Nachfolgend sind die verschiedenen Möglichkeiten aufgelistet, diese Aufgabe zu erfüllen.
+
Operatormap()
df.apply()
Series.str.cat()
df.agg()
In den nächsten Abschnitten werden wir denselben DataFrame
wie folgt verwenden,
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
print(df)
Folgendes wird ausgegeben.
First Last Age
0 Ali Azmat 30
1 Sharukh Khan 40
2 Linus Torvalds 70
+
Operator-Methode
Verwenden Sie den Operator +
einfach, wenn Sie Daten desselben Datentyps kombinieren wollen.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df["Full Name"] = df["First"] + " " + df["Last"]
print(df)
Es wird folgendes ausgegeben.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
df.map()
Methode
Sie können auch die Funktion df.map()
verwenden, um den Text von zwei Spalten zu kombinieren.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
df["Full Name"] = df["First"].map(str) + " " + df["Last"]
print(df)
Folgendes wird ausgegeben.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
df.apply()
Methode
Die Funktion join()
wird auch zum Verbinden von Zeichenketten verwendet. Wir können sie mit der Funktion df.apply()
auf unseren DataFrame
anwenden. Die df.apply()
Funktion wird verwendet, um eine andere Funktion auf eine bestimmte Achse anzuwenden.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df["Full Name"] = df[["First", "Last"]].apply(" ".join, axis=1)
print(df)
Das Folgende wird ausgegeben.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Series.str.cat()
Methode
Wir können diese Pandas Series.str.cat()
Methode auch verwenden, um Zeichenketten in der Serie/Index mit dem angegebenen Trennzeichen zu verketten.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df["Full Name"] = df["First"].str.cat(df["Last"], sep=" ")
print(df)
Folgendes wird ausgegeben.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
df.agg()
Methode
Genau wie df.apply()
wird diese Methode auch verwendet, um eine bestimmte Funktion über die angegebene Achse anzuwenden.
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df["Full Name"] = df[["First", "Last"]].agg(" ".join, axis=1)
print(df)
Folgendes wird ausgegeben.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Verwandter Artikel - Pandas DataFrame Column
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- So erhalten Sie die Summe der Pandas-Spalte
- Wie man die Reihenfolge der Pandas DataFrame-Spalten ändert
- Wie man eine DataFrame-Spalte in eine Zeichenkette in Pandas konvertiert