Maison > développement back-end > Tutoriel Python > Comment résoudre les erreurs dans la fonction Pandas \'apply\' lors de la gestion de plusieurs colonnes ?

Comment résoudre les erreurs dans la fonction Pandas \'apply\' lors de la gestion de plusieurs colonnes ?

DDD
Libérer: 2024-10-18 07:28:29
original
879 Les gens l'ont consulté

How to Resolve Errors in Pandas 'apply' Function When Handling Multiple Columns?

Problème avec la fonction « appliquer » de Pandas pour gérer plusieurs colonnes ?

La bibliothèque Pandas fournit la fonction « appliquer » pour les transformations par ligne, y compris les opérations impliquant plusieurs colonnes. Cependant, les utilisateurs peuvent rencontrer des problèmes lorsqu'ils tentent d'accéder à des colonnes spécifiques au sein de la fonction.

Un de ces problèmes est illustré dans la question, où l'utilisateur tente d'appliquer une fonction qui prend deux valeurs scalaires (« a » et « c') comme entrée. Cependant, le message d'erreur indique que le nom « a » n'est pas reconnu.

La solution à ce problème réside dans l'utilisation de la syntaxe correcte pour référencer les colonnes dans la fonction « appliquer ». Au lieu d'utiliser le nom de la colonne nue (« a »), l'utilisateur doit le mettre entre crochets (« [ » et « ] »). Par exemple, pour accéder à la colonne « a », elle doit être écrite sous la forme « rangée['a'] ».

Code révisé :

<code class="python">df['Value'] = df.apply(lambda row: my_test(row['a'], row['c']), axis=1)</code>
Copier après la connexion

Considérations supplémentaires :

Lors de la définition d'une fonction personnalisée à utiliser avec « appliquer », il est important de s'assurer qu'elle fonctionne sur les types de données corrects. Dans l'exemple mis à jour fourni, la fonction « my_test » est définie pour calculer la différence cumulée entre la valeur d'entrée (« a ») et la colonne « a » pour toutes les lignes du DataFrame. Cela nécessite que « a » et « df'a » soient des valeurs numériques.

Syntaxe alternative :

Pour plus de commodité, Pandas propose une syntaxe alternative pour « appliquer 'lorsque vous travaillez sur plusieurs colonnes. En spécifiant les noms des colonnes comme arguments de la fonction, les valeurs des colonnes sont accessibles directement dans la fonction.

Exemple :

<code class="python">def my_test2(row):
    return row['a'] % row['c']

df['Value'] = df.apply(my_test2, axis=1)</code>
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!

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