如何搜索df列中是否存在特定字符串



我有一个电影数据帧,其中包含许多类型——例如第1列和一些与情节相关的关键词——例如第2列。我想做的是获得一个新的数据帧,其中只有与特定类型相关的条目,例如"科幻"。我遇到的问题是,有些作品是多类型的,例如"恐怖、科幻、惊悚"。

以下是我尝试过的:

df[(df == 'Sci-fi').any(axis=1)]

这只给了我在第1列中有一种类型的条目。它没有给我任何包含"科幻"和其他类型的条目。如何让我的df显示包含"科幻"类型的多类型条目?

df = pd.DataFrame({'Column1': ['Horror, Sci-fi, Thriller', 'Horror, Thriller', 'Sci-fi'], 'Column2': [1, 2, 3]})
print(df[df['Column1'].str.extract('(Sci-fi)', expand=False).notna()])

输出:

Column1  Column2
0  Horror, Sci-fi, Thriller        1
2                    Sci-fi        3

最新更新