Combina due colonne di testo in DataFrame in Pandas
Quando si lavora con i set di dati alcune volte è necessario combinare due o più colonne per formare una colonna. Ad esempio, hai un set di dati con first name e last name separati in colonne e ora hai bisogno della colonna Full Name. Di seguito sono elencati i diversi modi per eseguire questa operazione.
- Operatore
+ map()df.apply()Series.str.cat()df.agg()
Useremo lo stesso DataFrame nelle prossime sezioni come segue,
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
print(df)
Verrà emesso quanto segue.
First Last Age
0 Ali Azmat 30
1 Sharukh Khan 40
2 Linus Torvalds 70
Metodo dell’operatore +
Usa l’operatore + semplicemente se vuoi combinare dati dello stesso tipo di dati.
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)
Verrà emesso quanto segue.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Metodo df.map()
Puoi anche usare la funzione df.map() per combinare il testo di due colonne.
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)
Verrà emesso quanto segue.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Metodo df.apply()
La funzione join() è usata anche per unire le stringhe. Possiamo applicarlo sul nostro DataFrame usando la funzione df.apply(). La funzione df.apply() viene utilizzata per applicare un’altra funzione su un asse specifico.
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)
Verrà emesso quanto segue.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Metodo Series.str.cat()
Possiamo anche usare questo metodo Series.str.cat() per concatenare le stringhe nella serie / indice con il separatore dato.
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)
Verrà emesso quanto segue.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Metodo df.agg()
Come df.apply(), questo metodo è utilizzato anche per applicare una funzione specifica sull’asse specificato.
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)
Verrà emesso quanto segue.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Articolo correlato - Pandas DataFrame Column
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Ottieni la colonna della somma dei pandas
- Modificare l'ordine delle colonne DataFrame di Pandas
- Converti colonna DataFrame in stringa in Pandas