Fonction pour enlever les caractères qui ne marche pas
Bonjour,
J'ai utilisé la fonction suivante pour retirer les caractères spéciaux de mon dataframe. Cependant, quand j'active la fonction, rien ne change et je n'arrive pas à savoir pourquoi. Pouvez-vous m'éclairer là-dessus svp?
b="!@#$" def remove_character(x): for char in b: x=x.str.replace(char, " ") print(x) remove_character(df)
Windows / Edge 107.0.1418.35
- Fonction pour enlever les caractères qui ne marche pas
- Fonction si et - Guide
- Enlever pub youtube - Accueil - Streaming
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Caracteres speciaux - Guide
6 réponses
Bonjour,
Tu appelles la fonction remove_character en lui passant df comme argument
Mais df est initialisé où ?????
De plus ce serait plutôt
x=x.replace(char," ")
En tout cas, ça, ça marche:
x='abc'
x=x.replace('a','d')
Faudrait voir ce que contient df
Ça se présente comme une chaine de caractères, comme ma variable x ci-dessus ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionbonjour,
peux-tu partager un exemple complet, que nous puissions tester?
Bonjour,
La méthode pandas.DataFrame.replace existe bien, mais ne fonctionne pas comme str.replace (voir la documentation pour comprendre ce que ça fait). C'est pour ça que ça ne fait pas ce que tu veux.
Ici, une approche possible consiste à utiliser pandas.DataFrame.applymap :
import pandas as pd
def clean(x):
if isinstance(x, str):
return "".join(a for a in x if a not in set("!@$"))
else:
return x
df = pd.DataFrame(["a!b@c$", "d!e@f$"])
df.applymap(clean)
print(df)
Résultat :
0
0 abc
1 def
Bonne chance