str_replace_all()在python中是等效的
我正在从R转换到Python,并有一个示例数据帧,如下所示:str_replace_all()在python中是等效的,python,regex,pandas,dataframe,Python,Regex,Pandas,Dataframe,我正在从R转换到Python,并有一个示例数据帧,如下所示: df = df = pd.DataFrame({'characterisitics': pd.Series(['Walter White made meth', 'Jessie Pinkman was called meth-head', 'Saul Goodman is always happy']), 'name': pd.Series(['Walter White', 'Jessie Pinkman', 'Saul Goodma
df = df = pd.DataFrame({'characterisitics': pd.Series(['Walter White made meth', 'Jessie Pinkman was called meth-head', 'Saul Goodman is always happy']), 'name': pd.Series(['Walter White', 'Jessie Pinkman', 'Saul Goodman'])})
characteristics name
0 Walter White made meth Walter White
1 Jessie Pinkman was called meth-head Jessie Pinkman
2 Saul Goodman is always happy Saul Goodman
characteristics name
0 made meth Walter White
1 was called meth-head Jessie Pinkman
2 is always happy Saul Goodman
我想使用替换与每行的“name”列匹配的“characteristics”部分。在R中,我可以使用:
str_replace_all(string = df$characteristics, pattern = fixed(df$name), replacement = '')
我的输出如下:
df = df = pd.DataFrame({'characterisitics': pd.Series(['Walter White made meth', 'Jessie Pinkman was called meth-head', 'Saul Goodman is always happy']), 'name': pd.Series(['Walter White', 'Jessie Pinkman', 'Saul Goodman'])})
characteristics name
0 Walter White made meth Walter White
1 Jessie Pinkman was called meth-head Jessie Pinkman
2 Saul Goodman is always happy Saul Goodman
characteristics name
0 made meth Walter White
1 was called meth-head Jessie Pinkman
2 is always happy Saul Goodman
如果我想在Python中实现这一点,我应该使用什么语法
谢谢 我认为对于这一行,您必须对每一行应用一个快速的
lambda
。对于简单的示例,实际上不需要正则表达式,因此标准的str.replace()
可以正常工作:
df.apply(lambda row: row['characterisitics'].replace(row['name'], ''), axis='columns')
Out[8]:
0 made meth
1 was called meth-head
2 is always happy
dtype: object