gpt4 book ai didi

python - 如何对数据框行进行分组并过滤字符串列表中的所有事件?

转载 作者:行者123 更新时间:2023-12-05 08:48:35 25 4
gpt4 key购买 nike

情况

有一个df即持有元素,每个元素可以有不同的类型:

df = pd.DataFrame({
'id':[1,1,2,2,2],
'type':['a','b','a','b','c']
})

df应该针对列表进行过滤并仅显示 idstypes 包含所有 list :

['a','b','c']

预期id在这种情况下是:2 导致其所有 types a,b,c 在列表中。

我尝试过的方法

id 分组并获取其 types 的列表,但不知道如何与 list 进行比较或应用类似 set(list).issubset(types) 的东西:

df = df.groupby('id')['type'].apply(list)
df.reset_index(name = 'types')

查询list , 但结果都是 types在:

df.query('type in ["a","b","c"]')

很高兴得到提示 - 谢谢

最佳答案

你可以尝试 set.issubsetgroupby.apply

l = ['a','b','c']
s = df.groupby("id")['type'].apply(lambda x: set(l).issubset(x))
s[s].index

Int64Index([2], dtype='int64', name='id')

s[s].index[0]
#2

关于python - 如何对数据框行进行分组并过滤字符串列表中的所有事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65708466/

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