2016-07-25 127 views
1

替换字符串我想在df熊猫:字符串

url 
icashier.alipay.com/catalog/2758186/detail.aspx 
icashier.alipay.com/catalog/2758186/detail.aspx 
icashier.alipay.com/catalog/2758186/detail.aspx 
vk.com 

更换子icashier.alipay.com在列aliexpress.com

欲望输出

aliexpress.com/catalog/2758186/detail.aspx 
aliexpress.com/catalog/2758186/detail.aspx 
aliexpress.com/catalog/2758186/detail.aspx 
vk.com 

我尝试df['url'].replace('icashier.alipay.com', 'aliexpress.com', 'inplace=True')但它返回empty dataframe

回答

5

使用replacedict更换和参数inplace=Trueregex=True

df['url'].replace({'icashier.alipay.com': 'aliexpress.com'}, inplace=True, regex=True) 
print (df) 
              url 
0 aliexpress.com/catalog/2758186/detail.aspx 
1 aliexpress.com/catalog/2758186/detail.aspx 
2 aliexpress.com/catalog/2758186/detail.aspx 
3          vk.com 
2

使用str.replace更换子,replace查找精确匹配,除非你传递一个正则表达式模式和param regex=True

In [25]: 
df['url'] = df['url'].str.replace('icashier.alipay.com', 'aliexpress.com') 
df['url'] 

Out[25]: 
0 aliexpress.com/catalog/2758186/detail.aspx 
1 aliexpress.com/catalog/2758186/detail.aspx 
2 aliexpress.com/catalog/2758186/detail.aspx 
3          vk.com 
Name: url, dtype: object 
+0

这不是一个就地操作;需要重新分配给'df ['url']' – Dmitri

+0

@Dmitri注意到,已经更新了答案,谢谢 – EdChum