如何在将两列分组并在Pandas Dataframe中获取值计数后获得最大值行?

2024-09-24 06:33:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在按两列分组,代码行如下:

df.groupby('topic')['category'].value_counts()

我得到以下输出:

^{pr2}$

我想得到每个主题(最频繁的类别)的最顶层,类似于:

^{pr3}$

请帮我处理这个。提前感谢


Tags: 代码df主题topicvalue类别groupbycategory
1条回答
网友
1楼 · 发布于 2024-09-24 06:33:05

在pandas中,value_counts将按降序对值进行排序,因此您需要做的就是从每个组中取最上面的值并返回该值。这可以通过应用函数轻松实现:

def top_value_count(x):
    return x.value_counts().head(1)

df.groupby('topic')['category'].apply(top_value_count)

1更改为另一个数字,以便为每个主题返回更多值。在

相关问题 更多 >