Maison > développement back-end > Tutoriel Python > Comment appliquer une fonction à plusieurs colonnes Pandas Dataframe et créer une nouvelle colonne ?

Comment appliquer une fonction à plusieurs colonnes Pandas Dataframe et créer une nouvelle colonne ?

DDD
Libérer: 2024-12-07 17:12:13
original
905 Les gens l'ont consulté

How to Apply a Function to Multiple Pandas Dataframe Columns and Create a New Column?

Application d'une fonction à plusieurs colonnes d'un dataframe Pandas

La situation est la suivante : une fonction et un dataframe sont définis, et le le but est d'appliquer la fonction à deux colonnes spécifiques du dataframe pour générer une nouvelle colonne. Cependant, une tentative d'utilisation de la méthode apply avec la fonction entraîne une erreur.

Pour résoudre ce problème, il existe plusieurs approches :

Expression Lambda avec noms de colonnes

Une solution concise et lisible consiste à utiliser une expression lambda dans la méthode apply :

df['col_3'] = df.apply(lambda x: get_sublist(x.col_1, x.col_2), axis=1)
Copier après la connexion

Cette approche directement utilise les noms de colonnes au lieu d'index numériques, ce qui le rend moins sujet aux erreurs.

Exemple avec des exemples de données

Considérez les exemples de données :

df = pd.DataFrame({'ID':['1', '2', '3'], 'col_1': [0, 2, 3], 'col_2':[1, 4, 5]})
mylist = ['a', 'b', 'c', 'd', 'e', 'f']
Copier après la connexion

L'exécution du code précédent générera une nouvelle colonne, col_3, contenant le résultat :

  ID  col_1  col_2      col_3
0  1      0      1     [a, b]
1  2      2      4  [c, d, e]
2  3      3      5  [d, e, f]
Copier après la connexion

Crochets pour les noms de colonnes non standard

Si les noms de colonnes contiennent des espaces ou correspondent à des attributs de dataframe existants, des crochets peuvent être utilisés :

df['col_3'] = df.apply(lambda x: f(x['col 1'], x['col 2']), axis=1)
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal