首页 > 其他分享 >方差计算

方差计算

时间:2023-11-08 16:11:49浏览次数:19  
标签:calculate 方差 self 计算 sorted data def mean

import random

def calculate_mean(data):
    return sum(data) / len(data)

def calculate_median(data):

    sorted_data = sorted(data)

    n = len(sorted_data)

    if n % 2 == 0:

        return (sorted_data[n//2 - 1] + sorted_data[n//2]) / 2

    else:

        return sorted_data[n//2]

def calculate_variance(data):

    mean = calculate_mean(data)

    return sum((x - mean) ** 2 for x in data) / len(data)

def calculate_standard_deviation(data):

    variance = calculate_variance(data)

    return variance ** 0.5

class Cal:  # 创建一个人类
    """定义计算类"""
    def __init__(self, data):  # 构造方法
        
        self.data=data
    def run(self):  # 定义跑的方法
        print(self.eye)
    def calculate_mean(self):
        temp=sum(self.data) / len(self.data)
        
        return sum(self.data) / len(self.data)

    def calculate_median(self):
    
        sorted_data = sorted(self.data)
    
        n = len(sorted_data)
    
        if n % 2 == 0:
    
            return (sorted_data[n//2 - 1] + sorted_data[n//2]) / 2
    
        else:
    
            return sorted_data[n//2]
    
    def calculate_variance(self):
    
        mean = calculate_mean(self.data)
    
        return sum((x - mean) ** 2 for x in self.data) / len(self.data)
    
    def calculate_standard_deviation(self):
    
        variance = calculate_variance(self.data)
    
        return variance ** 0.5
        
def main():

    source = input("请选择数据来源: 1.系统自动生成随机数;2.键盘输入一组数据 ")

    if source == '1':

        data = [random.randint(1, 100) for _ in range(11)]

    elif source == '2':

        data = []

        while True:

            try:

                num = input("请输入数字(直接输入回车退出): ")

                if num == '':

                    break

                data.append(float(num))

            except ValueError:

                print("请输入有效数字!")

    else:

        print("输入错误!")

    if data:
        cal1 = Cal(data)  # 创建人类的实例

        mean = calculate_mean(data)

        median = calculate_median(data)

        std_dev = calculate_standard_deviation(data)

        print(f"序列为: {data}, 平均值: {mean:.2f}, 标准差: {std_dev:.2f}, 中位数: {median:.2f}")
        print(f"序列为: {data}, 平均值: {cal1.calculate_mean():.2f}, 标准差: {cal1.calculate_standard_deviation():.2f}, 中位数: {cal1.calculate_median():.2f}")
        #cal1.calculate_mean()
       


if __name__ == "__main__":

    main()
    
    

  

标签:calculate,方差,self,计算,sorted,data,def,mean
From: https://www.cnblogs.com/jjkv3/p/17817631.html

相关文章

  • 计算机毕业设计体育场预约小程序
    开发环境及工具:大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具技术说明:springbootmybatishtmlvue.jsbootstrap小程序代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。功能介绍:用户端:登录注册(含授权登录)首页显示轮播图,项目,以及场馆介绍点击进入项目......
  • JS 计算两日期时间相差多少天
    计算两日期时间相差多少天!functiongetDays(DateOne,DateTwo){ varOneMonth=DateOne.substring(5,DateOne.lastIndexOf('-')); varOneDay=DateOne.substring(DateOne.length,DateOne.lastIndexOf('-')+1); varOneYear=DateOne.substring(0,DateOn......
  • JAVA Date 时间与时间相差计算
    JAVADate时间与时间相差计算Datedate=newDate("2014/1/1018:20");Datedate2=newDate("2014/1/113:5");longtemp=date2.getTime()-date.getTime();//相差毫秒数longhours=temp/1000/3600;//相差小时......
  • Java根据日期计算星期几的四种方法
    在我们日常业务代码中,经常要用到星期几,下面这篇文章主要给大家介绍了关于Java根据日期计算星期几的四种方法,文中通过代码将每种实现的非常详细,需要的朋友可以参考下方法一:根据基姆拉尔森日期公式publicstaticvoidmain(Stringargs[]){Scannerscanner=new......
  • 2008计算机软件基础 - 编程题 - 参考源程序
    2008计算机软件基础-编程题-参考源程序注:此程序仅供参考,不是唯一的标准答案,若有异议,请提出来 1typedefstructshangpin2{3intno;4charname[100];5intcount;6intprice;7}SP;89voidinsert(SPg[],int*length,SPx)10{11......
  • 2008秋-计算机软件基础-单链表练习(1)
    /*--------------------------------------------------------设有一个单链表,头结点为head,为递增有序,写一个完整程序,将其改为递减有序。----------------------------------------------------------*/#include<stdio.h>#include<stdlib.h>//定义结点structnodetype......
  • 2008秋-计算机软件基础-单链表完整示例
    /*---------------------------------------------------------Title:CompletedSimpleLinkedListAuthor:EmanLeeDate:Oct22,2008Fuction:OperationonLinkedStoredLinearList.Thisisacompletedsimplesample.Itisrelatedto......
  • 2008秋-计算机软件基础-多关键字排序
    /*多关键字排序:先按总分由高到低排序,若总分相同则按数学成绩由高到低排序,若总分和数学成绩都相同,则按英语成绩由高到低排序。*/#include<stdio.h>structstudent{intxuehao;charxingming[10];intshuxue;intyingyu;intyuwen;intzongf......
  • 前端计算数字精度丢失问题解决方法记录 | 京东云技术团队
    在日常一些需求中,总会遇到一些需要前端进行手动计算的场景,那么这里需要优先考虑的则是数字精度问题!具体请看下面截图如图所示,在JavaScript进行浮点型数据计算当中,会出现计算结果“不正确”的现象。我们知道浮点型数据类型主要有:单精度float、双精度double。浮点型简单来说就是表示......
  • 2008秋季-计算机软件基础-有序表合并 教材 P79, ex3
    /*Author:EmanLee*//*计算机软件基础教材P79,ex3*/#include<stdio.h>#include<stdlib.h>intinsert(inta[],intarrayLength,int*listLength,intx){inti,j;if(*listLength+1==arrayLength)return0;/*fail*/for(i=0;i<*list......