根据出现的字符串数过滤df中的行

时间:2020-09-29 04:20:32

标签: python pandas data-manipulation

我想基于df中的行,条件是该行包含一长串字符串中提及2个以上字符串的条件。我无法指定发生次数。到目前为止,这是我的代码:

brands = ["a", "b", "c"]
df[df.Column.str.contains('|'.join(brands), re.IGNORECASE, regex=True, na=False)]

2 个答案:

答案 0 :(得分:0)

也许使用count而不是contains

df = pd.DataFrame({'Column':['ab','ABx','axy']})

df[df.Column.str.count('|'.join(brands), re.IGNORECASE, na=False)>=2]

输出:

  Column
0     ab
1    ABx

答案 1 :(得分:0)

这是支票的一个例子。这是您想要做的吗?

import pandas as pd
df = pd.DataFrame({'Test':['a','b','cat','dog']})
print (df)
df['check']= df['Test'].isin(['a','b','c'])
print (df)

这将导致:

  Test  check
0    a   True
1    b   True
2  cat  False
3  dog  False