En donnant un exemple de trame de données avec les 2ème et 3ème colonnes de texte libre, par ex.Remplacement des nouvelles lignes par des espaces pour les colonnes str via pandas dataframe
>>> import pandas as pd
>>> lol = [[1,2,'abc','foo\nbar'], [3,1, 'def\nhaha', 'love it\n']]
>>> pd.DataFrame(lol)
0 1 2 3
0 1 2 abc foo\nbar
1 3 1 def\nhaha love it\n
Le but est de remplacer le \n
- (espace) et la bande de la chaîne dans la colonne 2 et 3 pour obtenir:
>>> pd.DataFrame(lol)
0 1 2 3
0 1 2 abc foo bar
1 3 1 def haha love it
Comment remplacer les sauts de lignes avec des espaces pour des colonnes spécifiques par le biais de pandas trame de données?
J'ai essayé:
>>> import pandas as pd
>>> lol = [[1,2,'abc','foo\nbar'], [3,1, 'def\nhaha', 'love it\n']]
>>> replace_and_strip = lambda x: x.replace('\n', ' ').strip()
>>> lol2 = [[replace_and_strip(col) if type(col) == str else col for col in list(row)] for idx, row in pd.DataFrame(lol).iterrows()]
>>> pd.DataFrame(lol2)
0 1 2 3
0 1 2 abc foo bar
1 3 1 def haha love it
Mais il doit y avoir une meilleure/façon plus simple.