"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment corriger les erreurs lors de l'application de fonctions à plusieurs colonnes avec la fonction Pandas « apply » ?

Comment corriger les erreurs lors de l'application de fonctions à plusieurs colonnes avec la fonction Pandas « apply » ?

Publié le 2024-11-15
Parcourir:999

How to Fix Errors When Applying Functions to Multiple Columns with the Pandas \'apply\' Function?

Dépannage de la fonction Pandas « appliquer » avec plusieurs colonnes

Lorsque vous essayez d'appliquer une fonction à plusieurs colonnes dans une trame de données Pandas à l'aide de l'option « appliquer » ', les utilisateurs peuvent rencontrer un message d'erreur si les noms de colonnes ne sont pas entourés de chaînes ou si une erreur de syntaxe se produit dans la définition de la fonction.

Pour résoudre le problème des noms non définis, assurez-vous que les noms de colonnes sont spécifiés. entre guillemets simples ou doubles. Par exemple, au lieu d'utiliser 'row[a]', utilisez 'row['a']' ou 'row["a"]'.

De plus, si la fonction utilisée dans 'apply' implique des opérations ou plusieurs boucles, il est crucial de vérifier les erreurs de syntaxe ou les instructions manquantes. Ces erreurs peuvent affecter l'exécution de la fonction et conduire à des résultats incorrects ou à des messages d'erreur.

Considérez l'exemple suivant :

df = DataFrame({'a': np.random.randn(6),
                 'b': ['foo', 'bar'] * 3,
                 'c': np.random.randn(6)})

def my_test(row):
    cum_diff = 0
    for ix in df.index():
        cum_diff = cum_diff   (row['a'] - df['a'][ix])
    return cum_diff

Dans cet exemple, le message d'erreur « IndexError : index out of range » résulte de la tentative d'accès à des index inexistants pendant la boucle. Pour corriger cela, assurez-vous que les indices se trouvent dans les limites du dataframe ou utilisez une méthode d'itération différente, telle que :

def my_test(row):
    cum_diff = 0
    for index, value in df.iterrows():
        cum_diff  = (row['a'] - value['a'])
    return cum_diff

En examinant attentivement la fonction et en plaçant les noms de colonnes dans des chaînes, vous pouvez résoudre efficacement les problèmes et utiliser la fonction « appliquer » avec plusieurs colonnes.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729208058. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3