gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 04:38:11 24 4
gpt4 key购买 nike

我想做与 this question 几乎相同的事情.

但是,根据我的数据集,@jezrael 接受的答案中的方法花费的时间太长了——我在原始数据框中有大约 30 万行,运行 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

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

最佳答案

我想你想要这样的东西。

df.groupby('Session')['Rating'].apply(lambda x: x.value_counts().head(1))

输出:

Session          
A Positive 3
B Negative 2
C Negative 1
Name: Rating, dtype: int64

关于python - Pandas:对于 groupby value_counts,返回具有最大计数的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51200718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com