在单元格一级设置操作

比如说我有一个 DataFrame 其中一列的值是一个 set:

df = pd.DataFrame([{'song': 'Despacito', 'genres': {'pop','rock'}}, 
                   {'song': 'We will rock you', 'genres': {'rock'}},
                   {'song': 'Fur Eliza', 'genres': {'piano'}}])

print(df)
               song       genres
0         Despacito  {rock, pop}
1  We will rock you       {rock}
2         Fur Eliza      {piano}

我如何选择行与 genres 与预期的类型重叠?例如,我希望

df[~df['genres'].intersection({'rock', 'metal'})]

来返回前两首歌曲。

               song       genres
0         Despacito  {rock, pop}
1  We will rock you       {rock}

很明显,这将失败,因为 Series 没有 intersection() 方法,但你懂的。有没有办法用熊猫的 DataFrameDataFrame 是不是适合我的目标的结构?

解决方案:

使用 isdisjoint 方法与 Series.map:

df = df[~df['genres'].map({'rock', 'metal'}.isdisjoint)]
print (df)
               song       genres
0         Despacito  {rock, pop}
1  We will rock you       {rock}

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何在Django管理中给出显示值的条件?

2022-5-12 6:00:07

解决方案

(3D)在缩放时保持对象的一致性

2022-5-12 6:00:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索