Pandas:按多个列分组,查找最大值并将其他列保留在dataframe中
我希望在一个数据框中对多个列进行分组,只保留最大值,并保留相应的日期列 下面是dataframe的外观: 指数 场地 设备类型 价值 时间 0 AAA A. 10 2021-02-02 01:30:00 1. AAA A. 5. 2021-02-02 01:35:00 2. AAA B 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:00Pandas:按多个列分组,查找最大值并将其他列保留在dataframe中,pandas,dataframe,max,pandas-groupby,Pandas,Dataframe,Max,Pandas Groupby,我希望在一个数据框中对多个列进行分组,只保留最大值,并保留相应的日期列 下面是dataframe的外观: 指数 场地 设备类型 价值 时间 0 AAA A. 10 2021-02-02 01:30:00 1. AAA A. 5. 2021-02-02 01:35:00 2. AAA B 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
你很接近。尝试使用
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