删除 Pandas 中包含某些字符串列表的行

tho*_*hor 4 python pandas

我正在尝试删除列中包含某些子字符串的行。我想删除包含子字符串“年”、“星期一”、“/”的所有值

我的dataframe样子:

col1
24/05/2020
May Year 2020
Monday
May 2020
Run Code Online (Sandbox Code Playgroud)

我尝试过的代码:

drop_values = ['Monday','Year', '/']
df = df[~df['Col1'].str.contains(drop_values)]
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

tim*_*geb 8

Series.str.contains方法接受正则表达式。

>>> df
            col1
0     24/05/2020
1  May Year 2020
2         Monday
3       May 2020
>>> drop_values = ['Monday','Year', '/']
>>> df[~df['col1'].str.contains('|'.join(drop_values))]
       col1
3  May 2020
Run Code Online (Sandbox Code Playgroud)