我有如下列
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.
我试过了,但还是没有成功。
答案 0 :(得分:2)
如果需要删除.
前的一个或多个空格,请使用.join
和re.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.'