Следующие действия помогут вам:
df['Column4'] = np.where((df.astype(np.object)=='cat').any(1), 'Yes', 'No')
Рабочий пример:
>>> import pandas as pd
>>> import numpy as np
>>> d = {'ID': [1, 2, 3], 'Column1': ['cat', 'dog', 'leopard'], 'Column2': ['dog', 'elephant', 'monkey'], 'Column3': ['bird', 'tiger', 'cat']}
>>> df = pd.DataFrame(data=d)
>>> df
Column1 Column2 Column3 ID
0 cat dog bird 1
1 dog elephant tiger 2
2 leopard monkey cat 3
>>> df['Column4'] = np.where((df.astype(np.object)=='cat').any(1), 'Yes', 'No')
>>> df
Column1 Column2 Column3 ID Column4
0 cat dog bird 1 Yes
1 dog elephant tiger 2 No
2 leopard monkey cat 3 Yes
РЕДАКТИРОВАТЬ: В случае, если вы хотите проверить, если какой-либо изстолбцы содержат конкретную строку, которую вы можете использовать следующим образом:
df['Column4'] = df.apply(lambda r: r.str.contains('cat', case=False).any(), axis=1)