gpt4 book ai didi

python 和 Pandas : How to query if a list-type column contains something?

转载 作者:IT老高 更新时间:2023-10-28 20:51:57 24 4
gpt4 key购买 nike

我有一个数据框,其中包含有关电影的信息。它有一个名为 genre 的列,其中包含它所属的流派列表。例如:

df['genre']

## returns

0 ['comedy', 'sci-fi']
1 ['action', 'romance', 'comedy']
2 ['documentary']
3 ['crime','horror']
...

我想知道如何查询数据帧,以便返回电影属于某种类型的电影?

例如,可能像 df['genre'].contains('comedy') 返回 0 或 1。

我知道一个列表,我可以做这样的事情:

'comedy' in  ['comedy', 'sci-fi']

但是,在 pandas 中,我没有找到类似的东西,我唯一知道的是 df['genre'].str.contains(),但它不适用于列表类型。

最佳答案

您可以使用 apply用于创建 mask 然后 boolean indexing :

mask = df.genre.apply(lambda x: 'comedy' in x)
df1 = df[mask]
print (df1)
genre
0 [comedy, sci-fi]
1 [action, romance, comedy]

关于 python 和 Pandas : How to query if a list-type column contains something?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41518920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com