2017-06-17 247 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