我试图根据每个标题是否包含列表中的任何公司名称(“ co_names_list”)来过滤熊猫数据框,该数据框包含带有新闻标题的列(列名“ title”)
我已经尝试了以下方法
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)
sp500news = raw_news_2.loc[raw_news_2['title'].isin(co_names_list)]
答案 0 :(得分:0)
我认为这应该做您想要的:
df[df.title.str.contains('|'.join(co_names_list))]
您要执行的操作是检查title
中的每个句子,如果句子中包含co_names_list
中的任何单词。这可以通过用'|'
充当OR
运算符将句子中的所有单词连接起来来完成。