pandas находит строки среди рядов и возвращают ключевые слова

Я хотел бы улучшить этот предыдущий вопрос о поиске строк в серии pandas на основе серии ключевых слов. Теперь мой вопрос заключается в том, как получить ключевые слова, найденные в строках DataFrame, в качестве нового столбца. Серия слов «w»:

Skilful Wilful Somewhere Thing Strange 

и DataFrame «df»:

 User_ID;Tweet 01;hi all 02;see you somewhere 03;So weird 04;hi all :-) 05;next big thing 06;how can i say no? 07;so strange 08;not at all 

Следующее решение хорошо работало для маскировки DataFrame:

 import re r = re.compile(r'.*({}).*'.format('|'.join(w.values)), re.IGNORECASE) masked = map(bool, map(r.match, df['Tweet'])) df['Tweet_masked'] = masked 

и верните это:

  User_ID Tweet Tweet_masked 0 1 hi all False 1 2 see you somewhere True 2 3 So weird False 3 4 hi all :-) False 4 5 next big thing True 5 6 how can i say no? False 6 7 so strange True 7 8 not at all False 

Теперь я ищу такой результат:

 User_ID;Tweet;Keyword 01;hi all;None 02;see you somewhere;somewhere 03;So weird;None 04;hi all :-);None 05;next big thing;thing 06;how can i say no?;None 07;so strange;strange 08;not at all;None 

Заранее спасибо за вашу поддержку.

Python - лучший язык программирования в мире.