Filtrar las filas según la lista de cadenas en Pandas

Tengo un gran dataframe de series temporales (llamado df ), y los primeros 5 registros se parecen a esto:

df stn years_of_data total_minutes avg_daily TOA_daily K_daily date 1900-01-14 AlberniElementary 4 5745 34.100 114.600 0.298 1900-01-14 AlberniWeather 6 7129 29.500 114.600 0.257 1900-01-14 Arbutus 8 11174 30.500 114.600 0.266 1900-01-14 Arrowview 7 10080 27.600 114.600 0.241 1900-01-14 Bayside 7 9745 33.800 114.600 0.295 

Gol:

Estoy tratando de eliminar filas donde cualquiera de las cadenas en una lista están presentes en la columna ‘stn’ . Por lo tanto, básicamente estoy tratando de filtrar este conjunto de datos para no incluir filas que contengan cualquiera de las cadenas en la siguiente lista.

Intento:

 remove_list = ['Arbutus','Bayside'] cleaned = df[df['stn'].str.contains('remove_list')] 

Devoluciones:

Fuera [78]:

 stn years_of_data total_minutes avg_daily TOA_daily K_daily date 

¡Nada!

He probado algunas combinaciones de citas, corchetes e incluso una función lambda; aunque soy bastante nuevo, así que probablemente no esté usando la syntax correctamente ..

Utilice isin :

 cleaned = df[~df['stn'].isin(remove_list)] In [7]: remove_list = ['Arbutus','Bayside'] df[~df['stn'].isin(remove_list)] Out[7]: stn years_of_data total_minutes avg_daily \ date 1900-01-14 AlberniElementary 4 5745 34.1 1900-01-14 AlberniWeather 6 7129 29.5 1900-01-14 Arrowview 7 10080 27.6 TOA_daily K_daily date 1900-01-14 114.6 0.298 1900-01-14 114.6 0.257 1900-01-14 114.6 0.241