【问题标题】:str_replace_all() r equivalent in pythonpython 中的 str_replace_all() r 等价物
【发布时间】:2016-06-14 13:50:35
【问题描述】:

我正在从 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 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

我想使用替换每行匹配“名称”列的“特征”部分。在 R 中,我可以使用:

str_replace_all(string = df$characteristics, pattern = fixed(df$name), replacement = '')

我的输出如下:

       characteristics            name
0             made meth    Walter White
1  was called meth-head  Jessie Pinkman
2       is always happy    Saul Goodman

如果我想在 Python 中实现这一点,我应该使用什么语法?

谢谢!

【问题讨论】:

    标签: python regex pandas dataframe


    【解决方案1】:

    我认为对于这一行,您必须对每一行快速应用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
    

    【讨论】:

      猜你喜欢
      • 2020-09-14
      • 2018-07-18
      • 2016-05-23
      • 1970-01-01
      • 2022-10-13
      • 1970-01-01
      • 2020-04-17
      • 2020-10-14
      • 2017-11-27
      相关资源
      最近更新 更多