Вы можете сделать это с пониманием списка на df.columns
.
Сначала давайте создадим пример кадра данных:
df = pd.DataFrame(columns=["A", "B", "C"], data=[['abc']*3]*3)
df['D'] = 'ab'
Результат:
A B C D
0 abc abc abc ab
1 abc abc abc ab
2 abc abc abc ab
Теперь давайте напечатаем только столбцы, которые содержат 'abc':
print([col for col in df.columns if df[col].str.contains("abc").any()])
['A', 'B', 'C']