2024-06-15 15:28:23 发布
网友
我有一个pandas数据框,其中“genres”列有多个值,用“|”分隔。我在下面放了一张照片。你知道吗
包含电影详细信息的数据帧:
如果我使用split函数,它将被转换成一个不可修改的列表。你知道吗
现在我只想在“流派”中包含单词“Action”时选择数据帧的行?我该怎么做?你知道吗
提前谢谢。你知道吗
这里有一个使用set的解决方案:
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
这里有一个使用
set
的解决方案:这可以自然地扩展到多种类型:
您可以使用:
示例:
输出:
相关问题 更多 >
编程相关推荐