【问题标题】:How to do a keyword search and list the keywords present in selected column to a new column for a pandas dataframe?如何进行关键字搜索并将所选列中存在的关键字列出到熊猫数据框的新列?
【发布时间】:2020-12-29 08:54:44
【问题描述】:

我有一个包含 foodhist 列的 df

它可以包含'cheeseburgers,largepizzafrompizzahut'作为输入

df['foodhist']

我有一个列表unhealthyfoods = ['burger','pizza' etc.]

我想添加 df['unhealthyfoodyouhad'] 列将在df['foodhist'] 中查找来自unhealthyfoods 的所有项目并将它们添加到此列。

df['foodhist'] 中的数据不能间隔,不能分隔,但我还是想寻找关键字的出现并在df['unhealthyfoodyouhad'] 中返回它们。

为此,在 'cheeseburgers,largepizzafrompizzahut' 中应在 df['unhealthyfoodyouhad'] 列中添加 burger,pizza。

【问题讨论】:

    标签: python python-3.x pandas dataframe data-analysis


    【解决方案1】:

    试试这个:

    import re
    
    unhealthyfoods=['burger','pizza']
    
    df=pd.DataFrame({'foodhist':['cheeseburger','burgerandlargepizza']})
    list1=[]
    for food in unhealthyfoods:
        list1.append([re.findall(food,x) for x in df['foodhist']])
    df['unhealthyfoodyouhad']=pd.DataFrame(list1).T.sum(1)
    df['unhealthyfoodyouhad']=[','.join(i) for i in df['unhealthyfoodyouhad']]
    

    输出:

    df
    Out[95]: 
                  foodhist unhealthyfoodyouhad
    0         cheeseburger              burger
    1  burgerandlargepizza        burger,pizza
    

    【讨论】:

      猜你喜欢
      • 2022-11-16
      • 2016-03-25
      • 2017-06-01
      • 2021-12-10
      • 2021-10-26
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      相关资源
      最近更新 更多