剥离pandas数据帧列中的所有尾随空格

hea*_*ive 11 python strip pandas

我有一个pandas DF,它有许多包含这样的单词的字符串元素:

'Frost                              '
Run Code Online (Sandbox Code Playgroud)

其前面有许多领先的白色空间.当我将这个字符串比较为:

'Frost'
Run Code Online (Sandbox Code Playgroud)

我意识到由于领先的空间,比较是假的.

虽然我可以通过迭代pandas DF的每个元素来解决这个问题,但由于我拥有大量记录,因此进程很慢.

这种方法应该有效,但它不起作用:

rawlossDF['damage_description'] = rawlossDF['damage_description'].map(lambda x: x.strip(''))
Run Code Online (Sandbox Code Playgroud)

所以当我检查一个元素时:

rawlossDF.iloc[0]['damage_description']
Run Code Online (Sandbox Code Playgroud)

它返回:

'Frost                              '
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?

Lui*_*uel 22

用这个替换你的功能:

rawlossDF['damage_description'] = rawlossDF['damage_description'].map(lambda x: x.strip())
Run Code Online (Sandbox Code Playgroud)

你几乎把它弄好了,你需要摆脱''内部条带()


Ant*_*pov 21

或者你可以使用str.strip方法:

rawlossDF['damage_description'] = rawlossDF['damage_description'].str.strip()
Run Code Online (Sandbox Code Playgroud)

  • 我在5M行数据集上尝试过此操作,与map + lambda相比,它需要两倍的时间 (3认同)