У меня есть датафрейм с пятью строками, который выглядит следующим образом:
index col1 col2 col3 col4 col5
1 word1 None word1 None None
2 None word1 word2 None None
3 None None None word2 word2
4 word1 word2 None None None
Я пытаюсь найти все строки, которые содержат обе строки в любой комбинации столбцов - в данном случае, строки 2 и 4. Обычно я бы использовал метод str.contains
для фильтрации по строка:
df[df['col1'].str.contains('word1 | word2'), case=False)
Но это дает мне только A) результаты для одного столбца и B) значение True, если в столбце есть одно слово. Я интуитивно пытался df[df[['col1', 'col2', 'col3', 'col4', 'col5']].str.contains('word1' & 'word2'), case=False)
, но .str.contains
не работает с объектами DataFrame.
Есть ли способ сделать это, не прибегая к циклу for?