Вы можете использовать
df.foo.str.split(' ').apply(lambda l: set(l).issuperset(set('book company ltd'.split(' '))))
, чтобы проверить, появляется ли каждое слово в 'book company limited'
в строках столбца foo
из df
.
Если вы хотите, чтобы сравнение было независимым от регистра, вы можете сделать это с помощью
df.foo.str.lower().str.split(' ')... # rest of line from above.