gpt4 book ai didi

python - 通过删除不同的列并聚合剩余的行来消除重复的行

转载 作者:行者123 更新时间:2023-11-28 20:34:44 25 4
gpt4 key购买 nike

我有一个包含重复行的数据框,这仅仅是因为两列彼此不同。

df
[A] [B] [C] [D] [E]
123 X Y 5 A
135 D E 4 B
434 R F 3 C
434 E Z 5 C

在上面的示例中,[A] 列应该具有唯一值,并且是我确定重复行的关键。如图所示,由于 [B][C] 包含不同的对象,列 [A] 显示在 434 处重复。因此,列 [D] 被从 8 拆分为每行 3 和 5,并且 [E] 被重复。 ([D] 列是根据其他对本示例不重要的因素进行的任意拆分)

我的目标是删除导致重复的两列,然后聚合列 [A][D][E]。有没有一种方法可以使用 .groupby() 并设置聚合非整数值的规则(对于 [E] 列)?聚合可能不是最好的词,因为我我只是简单地获取重复的实例并将其提升一个级别。我正在考虑为 [E] 列设置规则,它输出第一个实例,因为两者都是不变的。

我从以下方法开始:df.groupby('A').agg()

示例的输出应显示:

df_agg
[A] [D] [E]
123 5 A
135 4 B
434 8 C

最佳答案

这就像 groupby + agg -

一样简单
df.groupby('[A]', as_index=False).agg({'[D]' : sum, '[E]' : 'first'})

[A] [D] [E]
0 123 5 A
1 135 4 B
2 434 8 C

如果 [A] 是索引,则稍微更改 groupby 语法 -

df.groupby(level=0).agg({'[D]' : sum, '[E]' : 'first'})

[D] [E]
[A]
123 5 A
135 4 B
434 8 C

关于python - 通过删除不同的列并聚合剩余的行来消除重复的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48083944/

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