Kombinieren Sie zwei Textspalten in DataFrame in Pandas

Ahmed Waheed 30 Januar 2023
  1. + Operator-Methode
  2. df.map() Methode
  3. df.apply() Methode
  4. Series.str.cat() Methode
  5. df.agg() Methode
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.

  1. + Operator
  2. map()
  3. df.apply()
  4. Series.str.cat()
  5. 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