Python 在单元级别设置操作

Python 在单元级别设置操作,python,pandas,Python,Pandas,假设我有一个数据帧,其中一列中的值是集: df=pd.DataFrame([{'song':'Despacito','genres':{'pop','rock'}, {'song':'We will rock you','Tyres':{'rock'}, {'song':'Fur Eliza','流派':{'piano'}}]) 打印(df) 如何选择与预期类型重叠的类型行?例如,我希望 df[~df['genres'].交叉点({'rock','metal'})] 要返回前两首歌曲:

假设我有一个
数据帧
,其中一列中的值是

df=pd.DataFrame([{'song':'Despacito','genres':{'pop','rock'},
{'song':'We will rock you','Tyres':{'rock'},
{'song':'Fur Eliza','流派':{'piano'}}])
打印(df)
如何选择与预期类型重叠的
类型行?例如,我希望

df[~df['genres'].交叉点({'rock','metal'})]
要返回前两首歌曲:

               song       genres
0         Despacito  {rock, pop}
1  We will rock you       {rock}
显然,这将失败,因为
Series
没有
intersection()
方法,但是您知道了。 有没有办法用pandas
DataFrame
实现它,或者
DataFrame
的结构不适合我的目标?

使用以下方法:


预期的输出是什么?@MayankPorwal数据帧的前两行,因为它们的类型与预期的集合重叠。我用例子更新了我的问题。
               song       genres
0         Despacito  {rock, pop}
1  We will rock you       {rock}
df = df[~df['genres'].map({'rock', 'metal'}.isdisjoint)]
print (df)
               song       genres
0         Despacito  {rock, pop}
1  We will rock you       {rock}