gpt4 book ai didi

python - Pandas 分组并根据条件添加列数据

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:14 24 4
gpt4 key购买 nike

我合并了如下测试数据:

Device       time    Key score
Computers 2018-01-01 14.0 4.0
Computers 2018-01-01 11.0 4.0
Computers 2018-01-01 16.0 0.0

我需要按列 [Device,time] 和列分数的最大值对数据进行分组,并获得分配给该分数的最小键值。

我的第 1 次尝试:

df_out = df_out.groupby(['Device', 'time'])['score'].max().reset_index()

输出 1:

Device       time    score
Computers 2018-01-01 4.0

我的第二次尝试:

df_out = df_out.groupby(['Device', 'time'])['score', 'Key'].max().reset_index()

输出 2:

Device       time    score Key
Computers 2018-01-01 4.0 14.0

如何分配合适的最小Key?

期望的输出:

Device       time    score Key
Computers 2018-01-01 4.0 11.0

谢谢你的辛勤工作。

最佳答案

您可以使用转换:

df[df.score.eq(df.groupby(['Device', 'time'])['score'].transform('max'))]

      Device        time   Key  score
0 Computers 2018-01-01 14.0 4.0

根据编辑:

df.groupby(['Device', 'time'],as_index=False).agg({'score':'max','Key':'min'})

      Device        time  score   Key
0 Computers 2018-01-01 4.0 11.0

关于python - Pandas 分组并根据条件添加列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57270535/

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