在数据框中搜索子字符串并替换它

时间:2017-07-04 13:50:44

标签: python string python-3.x pandas dataframe

我有一个创建虚假数据的条件,我正在尝试清理它。

...例如

www.one@foxturn.com/!ut/5 #RealLink
www.one@foxturn.com/ut1/5_RTFDEERERTGFEFD # System adds junks to it
www.one@foxturn.com/ut1/5_dvkerfddfrejermsdkasmf # System adds junks to it

我试图通过放弃!ut

之后的所有内容来清理它

到目前为止,我已经尝试过:

SPA_MX = Mexico['Page URL'].str.startswith("http://www.www.one@foxturn.com/ut1")

但这会返回一个布尔值。

我想就实现这一目标的最有效方法提出建议。

2 个答案:

答案 0 :(得分: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                             www.one@foxturn.com/!ut
1           www.one@foxturn.com/ut1/5_RTFDEERERTGFEFD
2    www.one@foxturn.com/ut1/5_dvkerfddfrejermsdkasmf
Name: url, dtype: object

答案 1 :(得分:1)

my_string="www.one@foxturn.com/!ut/5"
final =  my_string.split("!ut")[0]

<强>输出:

  

www.one@foxturn.com /