2017-06-17 182 views
0

我想在大熊猫数据帧拆分列,我使用此代码:熊猫有条件拆分

df['entry'] = df['entry'].str.split('.') 

现在的问题是,我想要分割更大的文本元素,如:

我满足了。我是另一个内容。

但数据也有这样的东西:

我10.2的内容。

我不想拆分数字。所以我会需要一些条件如:

如果数字之间的点,不要分裂。

我该怎么用熊猫做到这一点?

回答

2

使用负lookarround

更新对付 “我的圣内容。”

rx = re.compile(r'(?<!\d)(?<!\b\w\w)\.(?!\d)') 
str = 'I am content. I am another content. I am 10.2 content. I am St. Content.' 
str = rx.split(str) 
print(str) 

输出:

['I am content', ' I am another content', ' I am 10.2 content', ' I am St. Content', ''] 
+0

真棒!谢谢 – Felix

+0

如果我有另一个例外,如:我是圣内容。它总是两个字母St,我不想分裂。我可以添加第二个lockaround吗? – Felix

+0

不幸的是,您的解决方案看起来很有前途,但对我的数据无效。 – Felix