小编man*_*tay的帖子

Pandas:对于 groupby value_counts,返回具有最大计数的行

我想做与这个问题几乎相同的事情。

然而,根据我的数据集,@jezrael 接受的答案中的方法花费的时间太长——原始数据框中有大约 300k 行,并且运行 nlargest(1) 命令需要几分钟。此外,我在 head(1000) 有限的数据帧上进行了尝试,并且在 value_count 中并没有只获得 1 行——我得到了与 value_count 完全相同的系列。

用我自己的话说:基本上,我的数据集有两列,如下所示:

Session Rating
A       Positive
A       Positive
A       Positive
A       Negative
B       Negative
B       Negative
C       Positive
C       Negative
Run Code Online (Sandbox Code Playgroud)

使用 counts = df.groupby('Session')['Rating'].value_counts() 我得到一个像这样的 Series 对象:

Session Rating
A       Positive  3
        Negative  1
B       Negative  2
C       Positive  1
        Negative  1
Run Code Online (Sandbox Code Playgroud)

如何获取仅包含最大计数评级的数据框?如果有多个最大值(例如 C),我想从返回的表中排除该最大值。

python pandas

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×1

python ×1