【问题标题】:select a partial string from a pandas DataFrame save in a column从 pandas DataFrame 中选择部分字符串保存在列中
【发布时间】:2021-04-20 18:36:59
【问题描述】:

我需要从 pandas df 的列中提取值并将这些值保存在单独的列中。我需要抓住遵循特定模式的字符串。我的数据如下所示:

name        
ADV | FashionWeek.ab
ADV | FashionWeek
ADV | ESPN.arb
ADV | ESPN.ob
ADV | ESPN

想要的输出是:

name                        clean_name  
ADV | FashionWeek.ab       FashionWeek
ADV | FashionWeek          FashionWeek
ADV | ESPN.arb             ESPN
ADV | ESPN.ob              ESPN
ADV | ESPN                 ESPN

所以我必须获取ADV | 之后和. 之前的所有内容 我试过了:

new_df["clean_name"] = df["name"].split('|')[1].lstrip().split('.')[0]

错误:AttributeError: 'DataFrame' object has no attribute 'split'

【问题讨论】:

    标签: python regex pandas split pd


    【解决方案1】:

    您的字符串逻辑是正确的,您只是将拆分函数应用于数据框对象,而不是列内的项目。为此,您可以使用.apply 函数:

    df["clean_name"] = df["name"].apply(lambda x: x.split('|')[1].lstrip().split('.')[0])
    

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2020-11-07
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多