根据字符串列表从pandas数据框中提取值

时间:2018-12-23 22:00:53

标签: python pandas nlp

我试图根据每个标题是否包含列表中的任何公司名称(“ co_names_list”)来过滤熊猫数据框,该数据框包含带有新闻标题的列(列名“ title”)

我已经尝试了以下方法

尝试1

sp500news = pd.DataFrame()
for i in raw_news_2.index:
    for j in co_names_list:
        if j in raw_news_2.loc[i,'title']:
            sp500news = sp500news.append(raw_news_2.iloc[i])
            print(sp500news)

尝试2

sp500news = raw_news_2.loc[raw_news_2['title'].isin(co_names_list)]

Sample Dataframe

1 个答案:

答案 0 :(得分:0)

我认为这应该做您想要的:

df[df.title.str.contains('|'.join(co_names_list))]

您要执行的操作是检查title中的每个句子,如果句子中包含co_names_list中的任何单词。这可以通过用'|'充当OR运算符将句子中的所有单词连接起来来完成。