Python中的scipy.stats.mode函数,寻找出现次数最多的成员

 在Python中,我们可以用scipy.stats.mode函数寻找数组或者矩阵每行/每列中最常出现成员以及出现的次数 。

from scipy.stats import mode
def mode(a, axis=0, nan_policy='propagate'):

函数作用:返回传入数组/矩阵中最常出现的成员以及出现的次数。

如果多个成员出现次数一样多,返回值小的那个。


举例说明:

list = ['a', 'a', 'a', 'b', 'b', 'b', 'a']
print("# Print mode(list):", mode(list))
print("# list中最常见的成员为:{},出现了{}次。".format(mode(list)[0][0], mode(list)[1][0]))

# Print mode(list): ModeResult(mode=array(['a'], dtype='<U1'), count=array([4]))
# list中最常见的成员为:a,出现了4次。

 

a = np.array([[2, 2, 2, 1],
              [1, 2, 2, 2],
              [1, 1, 3, 3]])
print("# Print mode(a):", mode(a))
print("# Print mode(a.transpose()):", mode(a.transpose()))
print("# a的每一列中最常见的成员为:{},分别出现了{}次。".format(mode(a)[0][0], mode(a)[1][0]))
print("# a的第一列中最常见的成员为:{},出现了{}次。".format(mode(a)[0][0][0], mode(a)[1][0][0]))
print("# a的每一行中最常见的成员为:{},分别出现了{}次。".format(mode(a.transpose())[0][0], mode(a.transpose())[1][0]))
print("# a中最常见的成员为:{},出现了{}次。".format(mode(a.reshape(-1))[0][0], mode(a.reshape(-1))[1][0]))

# a的每一列中最常见的成员为:[1 2 2 1],分别出现了[2 2 2 1]次。
# a的第一列中最常见的成员为:1,出现了2次。
# a的每一行中最常见的成员为:[2 2 1],分别出现了[3 3 2]次。
# a中最常见的成员为:2,出现了6次。

 

  • 20
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值