将列转换为纯文本熊猫

时间:2021-04-20 12:29:09

标签: python pandas dataframe

我有如下列

df =

idx text
0 i
1 am
2 a
3 boy
4 .
5 he
6 is 
7 running
8 
9 .

我想将其转换为纯文本并删除 . 句号前的空格,如下所示:

i am a boy. he is running.

我试过了,但还是没有成功。

2 个答案:

答案 0 :(得分:2)

如果需要删除.前的一个或多个空格,请使用.joinre.sub

import re
out = re.sub('\s+\.','.', ' '.join(df['text']))

或者:

import re
#https://stackoverflow.com/a/18878958/2901002
df = re.sub(r'\s+([.])', r'\1', ' '.join(df['text']))
print (df)
i am a boy. he is running.

答案 1 :(得分:1)

或者你可以使用 str.cat 指定分隔符,然后用点替换多余的空格,只用点:

>>> df['text'].str.cat(sep=' ').replace(' .','.')
Out[30]: 'i am a boy. he is running.'