如何删除字符之间的空格而不删除数据框中的所有空格?

假设我有一个这样的数据框:


ID    Name       Description

0     Manny      V e  r y calm

1     Joey       Keen and a n a l y t i c a l

2     Lisa       R a s h and careless

3     Ash        Always joyful

我想删除Description列中每个字母之间的所有空格,而不完全删除单词之间的所有必要空格。


在 Pandas 中有一个简单的方法吗?


绝地无双
浏览 246回答 1
1回答

哆啦的时光机

这是一个棘手的问题,但有一种方法可以让您获得大部分方法,即使用负面和正面的后视/前瞻来编码一些基本规则。鉴于您所描述的内容,以下示例可能会很好地工作。它会错误地将连续的“真实”单词中的字符组合成单独的字符,但如果这种情况很少见,这可能没问题。您可以添加其他规则以涵盖更多边缘情况。import reimport pandas as pds = pd.Series(['V e&nbsp; r y calm', 'Keen and a n a l y t i c a l','R a s h and careless', 'Always joyful'])regex = re.compile('(?<![a-zA-Z]{2})(?<=[a-zA-Z]{1}) +(?=[a-zA-Z] |.$)')s.str.replace(regex, '')0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Very calm1&nbsp; &nbsp; Keen and analytical2&nbsp; &nbsp; &nbsp; Rash and careless3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Always joyfuldtype: object这个正则表达式有效地说:查找空格序列并替换空格,但前提是它们之前有一个字母。如果有两个字母,不要做任何事情(即一个 2 个字母的单词)。但更具体地说,实际上只有在序列中最后一个空格后面有一个字母或任何终止字符串的字符时才替换空格。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python