Pandas GroupBy 计算最高计数字符串?

发布于 2025-01-10 07:03:52 字数 557 浏览 0 评论 0原文

给定这样的 DataFrame:

BeginningDataframe

期望结果:

DesiredOutput

有一些解决方案接近我正在寻找的使用 groupbycount,但我不知道如何正确计算。基本上,我希望返回每个符号计数最高的推荐。所以我假设伪代码可能看起来像这样:

new_df = df.groupby(['Symbol'])['Recommendation'].count().max()

...但这当然是错误的。

Given a DataFrame like this:

BeginningDataframe

Desired outcome:

DesiredOutput

There are solutions that are close to what I'm looking for using groupby and count, but I'm not sure how to get it right. Basically, I want the recommendation that has the highest count for each symbol to be returned. So I assume pseudo code might look something like:

new_df = df.groupby(['Symbol'])['Recommendation'].count().max()

...but of course this is wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

菊凝晚露 2025-01-17 07:03:52

您可以应用模式

new_df = df.groupby('Symbol')['Recommendation'].apply(lambda x: x.mode())

我想我们还可以执行以下操作:

s = df.groupby(['Symbol','Recommendation']).size()
s = s.groupby(level=0).transform('max').eq(s)
out = s.index[s].to_frame().reset_index(drop=True)

You could apply mode:

new_df = df.groupby('Symbol')['Recommendation'].apply(lambda x: x.mode())

I guess we could also do the following:

s = df.groupby(['Symbol','Recommendation']).size()
s = s.groupby(level=0).transform('max').eq(s)
out = s.index[s].to_frame().reset_index(drop=True)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文