【发布时间】:2021-04-08 16:03:41
【问题描述】:
我需要聚合我的数据框的两列,计算第二列的值,然后只取“count”列中值最高的行,让我展示一下:
df =
col1|col2
---------
A | AX
A | AX
A | AY
A | AY
A | AY
B | BX
B | BX
B | BX
B | BY
B | BY
C | CX
C | CX
C | CX
C | CX
C | CX
------------
df1 = df.groupby(['col1', 'col2']).agg({'col2': 'count'})
df1.columns = ['count']
df1= df1.reset_index()
out:
col1 col2 count
A AX 2
A AY 3
B BX 3
B BY 2
C CX 5
到目前为止一切顺利,但现在我只需要获取每个 'col1' 组中具有最大 'count' 值的行,但将值保留在 'col2' 中。
expected output in the end:
col1 col2 count
A AY 3
B BX 3
C CX 5
我不知道该怎么做。到目前为止,我使用 max() 聚合的尝试总是将 'col2' 排除在外。
【问题讨论】: