J'ai un problème avec les chaînes qui contiennent des sauts de ligne. Afin de les nettoyer, j'utilise la fonction de remplacement des pandas. Cependant, je ne peux pas le faire fonctionner. J'utilise le code suivant:

test_df = pd.DataFrame(data=['Why does it not go away? \n #whygodwhy'])
test_df.replace(to_replace=r'\\n', value="", regex=True, inplace=True)
print(test_df)

En exécutant le code, j'obtiens la sortie suivante:

                                 0
0  Why does it not go away? \n #whygodwhy

Par conséquent, le \ n n'est pas remplacé et je ne trouve pas mon erreur. Toute aide est grandement appréciée. Je vous remercie!

1
Lennart 18 mars 2019 à 12:58

2 réponses

Meilleure réponse

r'\\n' est incorrect, si vous avez besoin du drapeau r, vous devez utiliser r'\n' ou '\\n'.

C'est:

test_df.replace(to_replace='\\n', value="", regex=True, inplace=True)

Ou

test_df.replace(to_replace=r'\n', value="", regex=True, inplace=True)
1
X. W 18 mars 2019 à 10:02

Vous ne devez pas échapper le caractère '\ n' avec un autre '\'. Faites juste:

test_df.replace(to_replace=r'\n', value="", regex=True, inplace=True)
1
dvitsios 18 mars 2019 à 10:02