2017-07-04 25 views
1

我有一個創建虛假數據的條件,並且正在嘗試清除它。搜索數據框中的子字符串並將其替換爲

如...

[email protected]/!ut/5 #RealLink 
[email protected]/ut1/5_RTFDEERERTGFEFD # System adds junks to it 
[email protected]/ut1/5_dvkerfddfrejermsdkasmf # System adds junks to it 

我將嘗試後!ut

到目前爲止,我曾嘗試放棄所有清理它:

SPA_MX = Mexico['Page URL'].str.startswith("http://[email protected]/ut1") 

但這返回一個布爾值。

我想建議最有效的方法來實現這一點。

回答

1

你可以做到這一點使用apply在柱上,然後用find返回圖案的索引和切片STR如發現:

In[69]: 

df['url'].apply(lambda x: x[:x.find('!ut') + 3] if x.find('!ut') != -1 else x) 

Out[69]: 
0        [email protected]/!ut 
1   [email protected]/ut1/5_RTFDEERERTGFEFD 
2 [email protected]/ut1/5_dvkerfddfrejermsdkasmf 
Name: url, dtype: object 
+0

謝謝你,..我想保留!但在這之後放下一切..我怎麼能做到這一點?即...所有鏈接看起來都一樣。 –

+0

看到更新,不幸的是,由於位置是可變的,我不認爲有沒有一種很好的方式做到這一點,而不使用'apply',因爲你不能對字符串列進行可變長度切片 – EdChum

相關問題