Pandas 最高计数字符串的 GroupBy?

Pandas GroupBy for Highest Counted String?

给定一个像这样的 DataFrame:

期望的结果:

有些解决方案与我使用 groupbycount 寻找的解决方案很接近,但我不确定如何正确使用。基本上,我希望返回每个符号的计数最高的建议。所以我假设伪代码可能看起来像:

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

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

你可以申请 mode:

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)