0
votes

Comment appliquer ma fonction à la colonne DataFrame?

J'ai défini la fonction suivante: xxx pré>

pour supprimer les caractères indésirables dans les noms de fichiers. J'ai une trame de données avec des titres de livres dans une colonne et j'essaie d'appliquer la fonction à toutes les cordes surplacées, pour les effacer, mais je ne peux pas, je continue à récupérer le dataframe avec des données intactes. P>

J'ai déjà essayé la fonction Apply, à la fois dans la colonne seule et dans l'ensemble de l'aplatame, et rien de tout cela ne produit un résultat positif, qu'il soit en train d'attribuer le Dataframe à lui-même, comme dans: P>

df_new = df.apply(clearString)
#Or even
df_new = clearString(df)


2 commentaires

Avez-vous essayé de définir l'axe à 1?


J'ai en effet. Continuez toujours à récupérer le même dataframe original, sans altérations. J'ai essayé l'appliquer à une valeur d'entrée unique, au format: clearstring (df.loc [x, y]) et cela fonctionne. Je ne peux tout simplement pas y avoir sur tout le Dataframe.


3 Réponses :


1
votes

Appliquer code> ne fonctionne pas car, par défaut, il applique la fonction donnée à chaque colonne (et non à chaque élément). Dans les exemples donnés, clearstring code> recevrait une série code> argument code>, pas un str code>.

Pour appliquer une fonction à tous les ÉLÉMENTS EM> d'un fichier de données, on peut utiliser la méthode ApplicationMap code> ( docs ). P>

Exemples: P>

# if you wanna replace the old dataframe
df = df.applymap(clearString)

# if you wanna keep the old dataframe
new_df = df.applymap(clearString)


0 commentaires

0
votes

Vous pouvez utiliser la carte ou même l'application et la carte combinée.


0 commentaires

0
votes

Si vous souhaitez modifier une seule colonne, vous pouvez essayer ces approches: xxx


0 commentaires