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