S.G*_*.Gu 5 python group-by dataframe pandas pandas-groupby
我有一张表需要按条件分组:
R_num ORG name level
13 Dm Ad 17
13 Dm Af 16
Run Code Online (Sandbox Code Playgroud)
当我使用它给我时13 Dm Ad 16,就像数据被操纵一样。
df1=df.reset_index().groupby(['R_num','ORG']).agg({'name':'first','level':['min']})
Run Code Online (Sandbox Code Playgroud)
我想要的结果是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
Run Code Online (Sandbox Code Playgroud)