以下是使用 set
的一种解决方案:
df = pd.DataFrame({'genres': ['A|B|C|D', 'A|B|C', 'B|D']})
res = df[df['genres'].str.split('|').apply(set) >= {'D'}]
print(res)
genres
0 A|B|C|D
2 B|D
res = df[df['genres'].str.split('|').apply(set) >= {'A', 'B'}]
print(res)
genres
0 A|B|C|D
1 A|B|C
df = df[df['genres'].str.contains("Action")]
例子:
df = {'genres' : ('Action', 'crime', 'Action|crime', 'Romance|Action', 'Comedy'),'runtime' : (1,3,5,6,7)}
df = pd.DataFrame(df)
输出:
genres runtime
0 Action 1
2 Action|crime 5
3 Romance|Action 6
df = df[df['genres'].str.contains('|'.join(["动作","冒险"])
- Pyd