python求解中位数、均值、众数

python求解中位数、均值、众数首先定义一个数据,在这里我假定为:num=[2,3,2,5,1,0,1,2,9]一、求中位数    中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的平均数…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

首先定义一个数据,在这里我假定为:

num=[2,3,2,5,1,0,1,2,9]

一、求中位数

       中位数(又称中值,英语:Median),统计学中的专有名词,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的平均数作为中位数。

       一个数集中最多有一半的数值小于中位数,也最多有一半的数值大于中位数。如果大于和小于中位数的数值个数均少于一半,那么数集中必有若干值等同于中位数。设连续随机变量X的分布函数为F(X),那么满足条件P(X≤m)=F(m)=1/2的数称为X或分布F的中位数。对于一组有限个数的数据来说,其中位数是这样的一种数:这群数据的一半的数据比它大,而另外一半数据比它小。

       计算有限个数的数据的中位数的方法是:把所有的同类数据按照大小的顺序排列。如果数据的个数是奇数,则中间那个数据就是这群数据的中位数;如果数据的个数是偶数,则中间那2个数据算术平均值就是这群数据的中位数。

import numpy as np
np.median(num)

二、求均值

       平均数(英语:Mean,或称平均值)是统计中的一个重要概念。为集中趋势的最常用测度值,目的是确定一组数据的均衡点。算术平均数(或简称平均数)是一组样本x_{1},x_{2},\ldots ,x_{n} 的和除以样本的数量。其通常记作\bar{x}{\bar  {x}}={\frac  {x_{1}+x_{2}+\cdots +x_{n}}{n}}

       例如, 4,36,45,50,75 ,这组数的算术平均数是:{\frac  {4+36+45+50+75}{5}}={\frac  {210}{5}}=42

       在统计中算术平均数常用于表示统计对象的一般水平,它是描述数据集中程度的一个统计量。我们既可以用它来反映一组数据的一般情况,也可以用它进行不同组数据的比较,以看出组与组之间的差别。用平均数表示一组数据的情况,有直观、简明的特点,所以在日常生活中经常用到,如平均的速度、平均的身高、平均的产量、平均的成绩……“ 范围 ” 用于数值型数据,不能用于分类数据和顺序数据。

import numpy as np
np.mean(num)

三、求众数

      众数(mode)指一组数据中出现次数最多的数据值。例如{2,3,3,3}中,出现最多的是3,因此众数是3,众数可能是一个数,但也可能是多个数。在离散概率分布中,众数是指概率质量函数有最大值的数据,也就是最容易取様到的数据。在连续概率分布中,众数是指机率密度函数有最大值的数据,也就是机率密度函数的峰值。在统计学上,众数和平均数中位数类似,都是总体随机变量有关集中趋势的重要资讯。在高斯分布正态分布)中,众数位于峰值,和平均数中位数相同。但若分布是高度偏斜分布,众数可能会和平均数、中位数有很大的差异。

       分布中的众数不一定只有一个,若概率质量函数或机率密度函数在x1, x2……等多个点都有最大值,就会有多个众数,最极端的情形是离散型均匀分布,所有的点概率都相同,所有的点都是众数。若机率密度函数有数个局部最大值,一般会将这几个极值都称为众数,此连续机率分布会称为多峰分布(和单峰性相反)。若是对称的单峰分布(例如正态分布),众数和平均数中位数会重合[1]。若一随机变量是由对称的总体中产生,可以用取样的平均值来估计总体的众数。

方法一:用numpy中建立元素出现次数的索引的方法求众数

import numpy as np
c=np.bincount(num)
np.argmax(c)

方法二:直接利用scipy下stats模块

from scipy import stats
stats.mode(num)[0][0]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192453.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机专业选Java和Python哪个前景好点?[通俗易懂]

    计算机专业选Java和Python哪个前景好点?[通俗易懂]对于学习计算机专业的小伙伴,面对大二选课,开始陷入Java和python的纠结中,从以后的发展来看,这两个编程语言肯定是要通吃的,但前期的学习,可以有一个侧重点,说一下我自己的观点。应很多小伙伴的要求,我们从就业应用前景和学习难易度来分析一下:一、Java1、就业应用前景从目前的招聘量上来看,Java在编程语言中可以说是常胜将军,经常有各种新出的编程语言向它发起挑战,但是Jav…

    2022年7月8日
    21
  • java中高级面试题总结(全面)_java面试题大全

    java中高级面试题总结(全面)_java面试题大全jvm结构原理,GC工作原理Jvm结构:Jvm主要包括四个部分:1、类加载器(ClassLoad)在JVM启动时或者在类运行时将需要的class加载到JVM中。类加载时间与过程:类从被加载到虚拟机内存开始,在到卸载出内存为止,正式生命周期包括了:加载,验证,准备,解析,初始化,使用和卸载7个阶段。其中验证、准备、解析这个三个步…

    2022年8月20日
    7
  • PrintWriter作用[通俗易懂]

    PrintWriter作用[通俗易懂]PrintWriter()的作用是为了定义流输出的位置,并且此流可以正常的存储中文,减少乱码输出。PrintWriter可以在写入同时对写入的数据进行格式化。PrintStream主要操作byte流,而PrintWriter用来操作字符流…

    2022年8月10日
    10
  • HDU 1114 Piggy-Bank 全然背包[通俗易懂]

    HDU 1114 Piggy-Bank 全然背包

    2022年1月18日
    61
  • SQL注入学习「建议收藏」

    SQL注入学习「建议收藏」SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。学习目的:能找到注入点能判断数据库是什么类型能绕过各种过滤SQL注入平台层注入原因:数据库平台漏洞或数据库配置不安全代码层注入原因:程序员对输入未进行细致地过滤,从而执行了非法的数据查询SQL注入漏洞的方法数字注入字符串注入SQL注入方法有很多种,按数据类型可以分为

    2022年8月20日
    7
  • Eclipse中SVN插件的基本使用「建议收藏」

    Eclipse中SVN插件的基本使用「建议收藏」首先在提交代码的时候,会看到有的文件前会有雪花标志,代表该文件被修改过。提交代码的时候,点击整个项目,右键—team—与资源库同步,这个目的是检查本地的代码和服务器上的代码有没有冲突,如果有冲突的话,应该像将冲突解决,否则提交代码会出错,解决冲突看我的另一篇博客。点击与资源库同步按钮之后,会跳转到TeamSynchronizing界面,这个时候eclipse会自动检测本…

    2022年9月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号