gpt4 book ai didi

python - pandas:groupby 和聚合而不会丢失分组的列

转载 作者:太空狗 更新时间:2023-10-29 17:24:24 29 4
gpt4 key购买 nike

我有一个 pandas 数据框,如下所示。对于每个 ID,我可以有多个名称和子 ID。

Id      NAME   SUB_ID
276956 A 5933
276956 B 5934
276956 C 5935
287266 D 1589

我想压缩数据框,使每个 id 只有一行,每个 id 下的所有名称和 sub_id 在该行上显示为单个集合

Id      NAME           SUB_ID
276956 set(A,B,C) set(5933,5934,5935)
287266 set(D) set(1589)

我尝试按 id 分组,然后聚合所有其他列

df.groupby('Id').agg(lambda x: set(x))

但是在这样做时生成的数据框没有 Id 列。当您执行 groupby 时,id 将作为元组的第一个值返回,但我想当您聚合时它会丢失。有没有办法获得我正在寻找的数据框。即在不丢失分组的列的情况下进行groupby聚合。

最佳答案

如果您不想将 groupby 作为索引,则有一个参数可以避免进一步重置:

df.groupby('Id', as_index=False).agg(lambda x: set(x))

关于python - pandas:groupby 和聚合而不会丢失分组的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39441484/

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