J'ai défini la fonction suivante: 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)
3 Réponses :
Pour appliquer une fonction à tous les ÉLÉMENTS EM> d'un fichier de données, on peut utiliser la méthode Exemples: P> 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>. ApplicationMap code> ( docs ). P> # if you wanna replace the old dataframe
df = df.applymap(clearString)
# if you wanna keep the old dataframe
new_df = df.applymap(clearString)
Vous pouvez utiliser la carte ou même l'application et la carte combinée. P>
Si vous souhaitez modifier une seule colonne, vous pouvez essayer ces approches:
Avez-vous essayé de définir l'axe
code> à 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]) code> et cela fonctionne. Je ne peux tout simplement pas y avoir sur tout le Dataframe.