猫史档案馆


【Python作品分享】数据分析

用户:旺旺狗旺旺狗查看:2 回复:1 评论:2 创建时间:2021-07-31T15:53:20


【作品展示】

center_image

 

【作品介绍】

这是一个数据分析的程序,给它提供一组数据,它可以给你求出这组数据的平均数、众数、从大到小的排列顺序、中位数以及方差,是一个方便的数据分析工具。八年级下册时数学会学到数据分析,若做题时觉得自己分析数据比较费劲,可以通过该程序辅助,可以当做做题工具。

 

【作品源代码】

data_str = input('请输入一组数据,用空格隔开每个数据:').split(' ')
appear_times = {}
mode = []
data_num = []

try:
    for d in data_str:
        if ('.' in d) or ('e' in d):
            data_num.append(float(d))
        else:
            data_num.append(int(d))

    for i in data_str:
        if not i in appear_times:
            appear_times[i] = 1
        else:
            appear_times[i] += 1

    #求众数
    print('每个数据出现次数:',appear_times)

    for j in appear_times:
        if appear_times[j] == max(appear_times.values()):
            mode.append(j)

    #求平均数
    avg = round(sum(data_num) / len(data_num),2)

    #输出众数与平均数
    print('故其中的众数有:',mode)
    print(f'平均数为{avg}')

    #求出中位数并将其输出
    data_num = sorted(data_num,reverse=True)
    if len(data_num) % 2 == 0:
        median = (data_num[len(data_num)//2 - 1] + data_num[len(data_num)//2])/2
    else:
        median = data_num[len(data_num)//2]
    print('该组数据按从大到小顺序排列为:', data_num)
    print('这组数据的中位数为:',median)

    #求出方差并将其输出
    diffs = []
    for l in data_num:
        diff = (l - avg)**2
        diffs.append(diff)
    var = sum(diffs) / len(data_num)
    print(f'该组数据的方差为{var}')

except Exception:
    print('你的输入有误')


回复

上一页1 页 / 共 1下一页
腾讯内部员工腾讯内部员工

原来你叫张家盛

点赞0


评论