Pandas:替换字符串中的子字符串

2024-06-16 14:31:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我想替换df列中的子字符串icashier.alipay.com

url
icashier.alipay.com/catalog/2758186/detail.aspx
icashier.alipay.com/catalog/2758186/detail.aspx
icashier.alipay.com/catalog/2758186/detail.aspx
vk.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


Tags: 字符串comtrueurldfreplaceemptyvk
2条回答

使用带dict^{}替换和参数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

使用^{}替换子字符串,replace查找精确匹配项,除非传递正则表达式模式和参数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

相关问题 更多 >