我有一个表需要按条件分组:
R_num ORG name level
13 Dm Ad 17
13 Dm Af 16
当我使用它时,它会给我 13 Dm Ad 16
,这就像被操纵的数据。
df1=df.reset_index().groupby(['R_num','ORG']).agg({'name':'first','level':['min']})
我要的结果是13 Dm Af 16
,我知道 'name':'first'
可能有问题但我该如何解决这个问题?
谢谢
最佳答案
IIUC,你应该使用groupby
和idxmin
:
# df.loc[df.groupby(['R_num','ORG'])['level'].agg('idxmin')]
df.loc[df.groupby(['R_num','ORG'])['level'].idxmin()]
R_num ORG name level
1 13 Dm Af 16
关于python - 使用 pandas groupby 获取对应于最小值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54156291/