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

时间:2020-05-24 14:22:14

标签: python pandas

我正在尝试删除包含某些子字符串的行。我想删除所有包含子字符串“ Year”,“ Monday”,“ /”

的值

我的dataframe如下:

col1
24/05/2020
May Year 2020
Monday
May 2020

我尝试的代码:

drop_values = ['Monday','Year', '/']
df = df[~df['Col1'].str.contains(drop_values)]

但是我遇到以下错误:

TypeError: unhashable type: 'list'

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以这样做:

df = df[~df['col1'].str.contains('Monday|Year|/')]
print(df)

输出:

       col1
3  May 2020