web-dev-qa-db-fra.com

Suppression de tous les espaces vides de fin dans une colonne d'un dataframe pandas

J'ai un pandas DF qui a beaucoup éléments de chaîne qui contient des mots comme celui-ci:

'Frost                              '

Qui a de nombreux espaces blancs devant lui. Quand je compare cette chaîne à:

'Frost'

J'ai réalisé que la comparaison était False en raison des espaces principaux.

Bien que je puisse résoudre ce problème en itérant sur chaque élément du DF pandas, le processus est lent en raison du grand nombre d'enregistrements que j'ai).

Cette autre approche devrait fonctionner, mais elle ne fonctionne pas:

rawlossDF['damage_description'] = rawlossDF['damage_description'].map(lambda x: x.strip(''))

Donc quand j'inspecte un élément:

rawlossDF.iloc[0]['damage_description']

Il renvoie:

'Frost                              '

Que se passe t-il ici?

12
headdetective

Remplacez votre fonction par ceci:

rawlossDF['damage_description'] = rawlossDF['damage_description'].map(lambda x: x.strip())

Vous aviez presque raison, vous deviez vous débarrasser de la bande intérieure ()

22
Luis Miguel

Vous pouvez également utiliser str.strip méthode:

rawlossDF['damage_description'] = rawlossDF['damage_description'].str.strip()
21
Anton Protopopov