J'ai un Je veux supprimer toute ponctuation, alors j'ai procédé à ce qui suit: p> Cependant, j'ai obtenu un Comment puis-je le réparer? Aussi, existe-t-il un moyen plus efficace de supprimer la ponctuation pour toutes les lignes de texte dans une série? P> P> pandas.series code> des code>, qui contient tout le texte: "typeError: remplacer () ne prend aucun argument de mots clés" code>. p>
3 Réponses :
Vous pouvez créer un dictionnaire d'éléments à remplacer et l'utiliser dans pandas.dataframe.replace retour de inplace = true code> est Aucun code> (c.-à-d. Pas besoin d'assigner lors de l'utilisation de remplacement surplacée) p>
Tout d'abord, vous avez une erreur d'indentation dans l'intérieur de la boucle. Deuxièmement, compte tenu des empreintes appropriées, le problème de votre problème est que la méthode .ePlace () pour le fichier de données et pour les chaînes a des signatures de fonction différentes. Ce que vous voulez faire, c'est utiliser la méthode de remplacement de Dataframe (), mais vous utilisez la méthode de remplacement de la chaîne (). Vous pouvez vérifier ici: https://stackoverflow.com/a/50843478/9851541 Ou, vous pouvez également vérifier Comment utiliser la méthode Remplacer () avec des arguments de mots clés pour remplacer les chaînes vides pour votre problème. J'espère que cela vous aidera! P>
Mon interprétation de votre question pourrait être incorrecte, mais si vous cyclistes via une liste de caractères de ponctuation dans comme vous le savez probablement, renvoie Lorsque vous utilisez punc code> et que vous voulez simplement les supprimer tout en gardant le reste du texte, je Pensez que vous pouvez faire quelque chose de plus simple comme ce qui suit: remplacer code> est la méthode standard Python String pour remplacer une série de caractères avec un autre. Par exemple: p> 'azc' code> p> série.str.replace () Code> Vous utilisez cette même chaîne Remplacer la méthode, mais maintenant, il sera appliqué à chaque élément de la série. Afaik, toutes les méthodes de chaîne peuvent être appliquées à une série à une série utilisant cette même syntaxe série.str.some_string_method () code> p> p>
En outre, ça vous dérange d'expliquer un peu pourquoi cela fonctionne avec des pandas.Series? Pourquoi Python peut-il l'interpréter comme chaque élément de chaque rangée? Parce que cela ne fonctionne pas si je vous jette chaque rangée, c'est-à-dire si chaque ligne devient une liste ...
Mise à jour de la réponse avec quelques explications. S'il vous plaît n'oubliez pas de le marquer correctement si vous êtes satisfait de ma réponse!
Vous utilisez str.replace, pas pandas.series.replace ..