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.
- +Operator
- map()
- 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