dataframe 众数的方法_pandas中groupby后快速众数

在数据挖掘中,通过groupby进行数据聚合时,求最大值、均值等统计特征可以直接操作,但众数(mode)却无法直接使用。文章介绍了当`groupby`后无法直接调用`mode()`时的解决方法,包括利用`value_counts()`选择次数最多的结果以及直接调用`Series`的`mode()`方法。对于数据量大时,提出了更快速的求众数策略,以应对性能问题。最后,作者鼓励读者关注其成长并参与投稿。
摘要由CSDN通过智能技术生成

0a9ec29f7e54649b663d66df3480e2f7.png

1. 问题

在做数据挖掘过程中,有时需要做一些数据聚合后的统计特征,如求最大值,均值,中位数等等,这些都可以通过将主键进行groupby,然后直接使用max(),mean(),median()等方法。但是当想要求聚合后的众数(mode),却发现出现错误,通过dir(df.groupby('a'))指令查看并没有该方法。故不能直接使用df.groupby('a').mode().reset_index()

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({
    'a':['A','A','A','A','B','B','B','B
   ...: ','B'],'b':[1,1,2,3,1,2,2,3,3]})

In [3]: df
Out[3]:
   a  b
0  A  1
1  A  1
2  A  2
3  A  3
4  B  1
5  B  2
6  B  2
7  B  3
8  B  3

In [4]: df.groupby('a').max().reset_index()
Out[4]:
   a  b
0  A  3
1  B  3

In [5]: df.groupby(&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值