Combiner deux colonnes de texte dans DataFrame in Pandas
- Méthode de l’opérateur “+”
-
La méthode
df.map()
-
Méthode
df.apply()
-
Méthode
Series.str.cat()
-
Méthode
df.agg()
Lorsque vous travaillez avec des ensembles de données, vous devez parfois combiner deux ou plusieurs colonnes pour n’en former qu’une seule. Par exemple, vous avez un ensemble de données avec first name
et last name
séparés dans des colonnes, et vous avez maintenant besoin de la colonne full name
. Vous trouverez ci-dessous les différentes façons de réaliser cette tâche.
- L’opérateur “+”.
map()
df.apply()
Series.str.cat()
df.agg()
Nous utiliserons le même DataFrame
dans les prochaines sections comme suit,
import pandas as pd
data = [["Ali", "Azmat", "30"], ["Sharukh", "Khan", "40"], ["Linus", "Torvalds", "70"]]
df = pd.DataFrame(data, columns=["First", "Last", "Age"])
print(df)
Production:
First Last Age
0 Ali Azmat 30
1 Sharukh Khan 40
2 Linus Torvalds 70
Méthode de l’opérateur “+”
Utilisez l’opérateur +
simplement si vous voulez combiner des données du même type.
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)
La sortie sera la suivante.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
La méthode df.map()
Vous pouvez également utiliser la fonction df.map()
pour combiner le texte de deux colonnes.
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)
Le résultat sera le suivant.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Méthode df.apply()
La fonction join()
est également utilisée pour joindre des chaînes de caractères. Nous pouvons l’appliquer sur notre DataFrame
en utilisant la fonction df.apply()
. La fonction df.apply()
est utilisée pour appliquer une autre fonction sur un axe spécifique.
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)
La sortie sera la suivante.
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Méthode Series.str.cat()
Nous pouvons également utiliser cette méthode series.str.cat()
pour concaténer les chaînes de caractères dans la Series/Index avec le séparateur donné.
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)
Production:
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Méthode df.agg()
Tout comme df.apply()
cette méthode est également utilisée pour appliquer une fonction spécifique sur l’axe spécifié.
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)
Production:
First Last Age Full Name
0 Ali Azmat 30 Ali Azmat
1 Sharukh Khan 40 Sharukh Khan
2 Linus Torvalds 70 Linus Torvalds
Article connexe - Pandas DataFrame Column
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment obtenir la somme de la colonne Pandas
- Comment changer l'ordre des colonnes de Pandas DataFrame
- Comment convertir une colonne de DataFrame en chaîne de caractères dans Pandas