我有一个数据框,其中包含有关电影的信息。它有一个名为的列genre,其中包含它所属的流派列表。例如:
genre
df['genre'] ## returns 0 ['comedy', 'sci-fi'] 1 ['action', 'romance', 'comedy'] 2 ['documentary'] 3 ['crime','horror'] ...
我想知道如何查询数据框,以便它返回属于某个类型的电影?
例如,可能会df['genre'].contains('comedy')返回0或1。
df['genre'].contains('comedy')
我知道列表,可以做以下事情:
'comedy' in ['comedy', 'sci-fi']
但是,在大熊猫中,我找不到类似的东西,我唯一知道的是df['genre'].str.contains(),但它不适用于列表类型。
df['genre'].str.contains()
您可以使用applycreate mask,然后boolean indexing:
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]