gpt4 book ai didi

Pandas:分组多列,找到最大值并将其他列保留在数据框中

转载 作者:行者123 更新时间:2023-12-04 08:07:23 24 4
gpt4 key购买 nike

我希望在数据框中对多个列进行分组,仅保留最大值,并保留相应的日期列
下面是数据框的样子:


指数
地点
设备类型
值(value)
时间


0
AAA
一种
10
2021-02-02 01:30:00

1
AAA
一种
5
2021-02-02 01:35:00

2
AAA

2
2021-02-02 01:40:00

3
BBB
C
3
2021-02-02 02:00:00

4
BBB
C
11
2021-02-02 02:05:00

5
BBB
C
20
2021-02-02 02:10:00

6
BBB
D
30
2021-02-02 04:00:00


我正在尝试获得以下输出:


指数
地点
设备类型
值(value)
时间


0
AAA
一种
10
2021-02-02 01:30:00

1
AAA

2
2021-02-02 01:40:00

2
BBB
C
20
2021-02-02 02:10:00

3
BBB
D
30
2021-02-02 04:00:00


当我尝试以下 groupby 时,时间列下降:df_max = df.groupby(['Site','Device Type'],as_index=False)['Value'].max()我希望保持与找到的最大值相对应的时间值。
谢谢

最佳答案

你很亲近。尝试使用 idxmax并在该位置显示行:

df.loc[df.groupby(['Site','Device Type'])['Value'].idxmax()].reset_index(drop=True)
    Index   Site    Device Type Value   Time
0 0 AAA A 10 2021-02-02 01:30:00
1 2 AAA B 2 2021-02-02 01:40:00
2 5 BBB C 20 2021-02-02 02:10:00
3 6 BBB D 30 2021-02-02 04:00:00

关于Pandas:分组多列,找到最大值并将其他列保留在数据框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66159169/

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