return df[np.logical_and.reduce([df['Name'].str.contains(word) for word in
    words])]
df = pd.DataFrame({'Name': ['Virginia Google Governor', 'Governor Virginia',
    'Governor Virginia Google']})
Searching Multiple Strings in pandas without predefining number of strings to use