我希望做的事情跟这个问题几乎一样。
然而,@jezrael在被接受的答案中的方法基于我的数据集花费时间太长 —— 原始数据框中有约300k行数据,并且运行nlargest(1)命令需要几分钟时间。此外,我已经在一个限制了head(1000)的数据框上尝试过,但没有得到每个value_count内只有1行的结果 —— 我得到的是完全相同的系列作为value_counts。
用我自己的话来说:基本上,我的数据集有两列,就像这样:
Session Rating
A Positive
A Positive
A Positive
A Negative
B Negative
B Negative
C Positive
C Negative
使用 counts = df.groupby('Session')['Rating'].value_counts(),我得到了一个如下所示的 Series 对象:
Session Rating
A Positive 3
Negative 1
B Negative 2
C Positive 1
Negative 1
如何获得一个数据框(dataframe),其中只包含评分(Rating)最大值的那一行?当存在多个最大值时(例如C),我希望从返回的表格中排除它。