python_众数

本文介绍了两种不依赖统计学模块的Python方法来找到数据的众数。第一种方法通过索引操作,包括v1.1、v1.2、v1.3三个版本的细节。第二种方法将数据转化为{元素:个数}的字典形式,同样提供了v2.1和v2.2的实现步骤,便于直接遍历键值对进行计算。
摘要由CSDN通过智能技术生成

不加载模块的方法

方法1:索引方法

v1.1

# 定义计算众数的函数get_mode(),参数为待分析列表型数据input_list,返回众数
def get_mode(input_list):
    # 获取各个元素重复次数(只计算当前元素之后的次数)
    input_list_repeattimes=[]
    for index,i in enumerate(input_list):
        counts=0
        for j in input_list[index:]:
            if j==i:
                counts+=1
        input_list_repeattimes.append(counts)
    # 获取最大的次数
    largestcount=0
    for index,i in enumerate(input_list_repeattimes):
        if i>largestcount:
            largestcount=i
    #获取最大的次数的位置
    largestindex=[]
    for index,i in enumerate(input_list_repeattimes):
        if i==largestcount:
            largestindex.append(index)
    #获取mode
    mode=[]
    for i in largestindex:
        mode.append(input_list[i])
    #根据情况返回mode值
    if largestcount==1:
        return "No mode exist"
    else:
        return mode    

# 测试:调用get_mode函数,计算众数
input_list=[100,98,87,65,82,99,92,99,100]
print(get_mode(input_list))
input_list2=[1,2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值