【发布时间】:2021-03-04 10:55:43
【问题描述】:
您好,我有以下假设的 df
df = pd.DataFrame({
'sp' : ['MM1', 'MM1', 'MM1', 'MM2', 'MM2', 'MM2', 'MM4', 'MM4','MM4'],
'mt' : ['S1', 'S1', 'S3', 'S3', 'S4', 'S4', 'S2', 'S2', 'S2'],
'val' : ['a', 'n', 'cb', 'mk', 'bg', 'dgb', 'rd', 'cb', 'uyi'],
'count' : [3,2,5,8,10,1,2,2,7]
})
top =df.groupby(['sp','mt']).agg({'count':'max'})
top
我在不删除 val 列的情况下按 sp 和 mt 分组,我该怎么做?这个想法是找到 val 的值,其中 count 是最大值
谢谢
【问题讨论】:
-
val有多个值。您的请求仅在您说 find the value of val where count 'reaches' max 时才有效
-
感谢 Aaj 的 cmets,这正是我想要在这里实现的目标,有什么提示吗?
-
请尝试澄清您的问题。在 groupby、count、max 等方面有很多类似的操作。
-
按“计数”排序值,然后在 sp 和 mt 上删除重复项
标签: python pandas group-by pandas-groupby