尝试在列表和行中循环查找关键字匹配项,并创建新列“word”,将这些匹配项存储在其中
“愤怒,有时心烦意乱”只是在第一场比赛中返回“愤怒”,而不是“心烦意乱”
如何获得显示所有关键字匹配的输出,即:[“生气”、“心烦”]
任何帮助都会很好!
import pandas as pd
df = pd.DataFrame({
'survey_response':[
'mostly happy',
'angry and sometimes upset',
'not sure',
'really happy.',
'a bit sad',
'happy probably very happy',
]
})
search_words = ['happy', 'sad', 'angry','very happy', 'upset']
query = '|'.join(search_words)
df['match'] = df['survey_response'].str.contains(query, case=False)
df['word'] = df['survey_response'].str.extract( '({})'.format(query) )
1条答案
按热度按时间nzk0hqpo1#
你试过用芬德尔吗?你应该用它来耍把戏。