df.loc[:,df.columns.str.contains("spike")]
#OR
spike_cols =[x for x in df.columns[df.columns.str.contains('spike')]]
#OR
spike_cols = [x for x in df.columns if 'spike' in x]
df[spike_cols]
#To drop spike_cols
df[df.columns.drop(spike_cols)]
#OR
# select columns containing 'spike'
df.filter(like='spike', axis=1)
#OR
df2 = df.filter(regex='spike')