精华内容
下载资源
问答
  • 2021-01-29 04:53:38

    中位数:中位数是一组数字中的中间数。此代码计算包含数字的列表的中位数:

    我们定义一个数字列表并计算列表的长度。要查找中位数,我们首先使用sort()函数按升序排序列表。

    现在我们通过检查剩余数量来检查数字是偶数还是奇数。如果数字是偶数,我们在列表中找到2个中间元素并获得它们的平均值以将其打印出来。但如果数字是奇数,我们在列表中找到中间元素并将其打印出来。

    # Python program to print

    # median of elements

    # list of elements to calculate median

    n_num = [1, 2, 3, 4, 5]

    n = len(n_num)

    n_num.sort()

    if n % 2 == 0:

    median1 = n_num[n//2]

    median2 = n_num[n//2 - 1]

    median = (median1 + median2)/2

    else:

    median = n_num[n//2]

    print("Median is: " + str(median))

    输出:Median is: 3

    更多相关内容
  • 中位数计算

    千次阅读 2016-09-29 18:24:07
    题目中位数计算。选择你熟悉的编程语言实现教材P31上公式(2.3)的算法,用于估算大量数据的中位数。下载测试数据文件(1百万条数据,中位数为49899),选择不同的区间大小(width),考察计算结果与真实中位数的...

    题目


    中位数计算。选择你熟悉的编程语言实现教材P31上公式(2.3)的算法,用于估算大量数据的中位数。下载测试数据文件(1百万条数据,中位数为49899),选择不同的区间大小(width),考察计算结果与真实中位数的误差。

    公式


    数据挖掘 中位数计算

    代码实现


    matlab

    clear all;
    clc;
    
    N = 1000000;
    width = 100;    %区间长度
    [a] = textread('rand1m.txt','%d');
    %此处可直接使用median(a)求出中位数49899
    
    max = max(a);       %用其他语言的话,最值可用冒泡排序求出
    min = min(a);
    num = (max - min) / width;
    num = round(num);       %向上取整
    count = zeros(num,1);   %保存各区间的个数
    
    %计for i = 1:N
        count(floor((a(i)-min)/width+1)) = count(floor((a(i)-min)/width+1)) + 1;
    end
    
    %确定中位数所在的区间位置index
    %计算该区间以前的频数和sigma
    sigma = 0;
    index = 1;
    while N/2-sigma>0
        sigma = sigma + count(index);
        index = index +1;  
    end
    index = index -1;
    sigma = sigma - count(index);
    
    %根据公式计算中位数
    L1 = min + width*(index-1);
    median = L1 +((N/2-sigma)/count(index)) * width;
    median = fix(median);
    

    C

    #include<stdio.h>
    const int width=100;    //区间长度
    void main(){
        FILE *fp1,*fp2;
        int a,max=2000,min=2000,N=0,median;
        if( (fp1 = fopen("rand1m.txt","r"))==NULL ) 
            printf("error");
    
        //取出最大值与最小值
        while(fscanf(fp1,"%d%*[^0-9]",&a)>0){
            if(a>=max)
                max = a;
            if(a<=min)
                min = a;
            N++;
        }
        fclose(fp1);
    
        int num = (max - min) / width +1;   //区间个数
        int* count = new int[num];      //区间频数
        for(int i=0; i<num; ++i)
            count[i]=0;
    
        if( (fp2 = fopen("rand1m.txt","r"))==NULL ) 
            printf("error");
    
        //计数
        while(fscanf(fp2,"%d%*[^0-9]",&a)>0){
            count[(a-min)/width]++;
        }
        fclose(fp2);
    
        //确定区间index 统计index前所有区间频数和sigma
        int sigma = 0;
        int index = 0;
        while(N/2 - sigma >0){
            sigma += count[index];
            index ++;
        }
        index --;
        sigma -= count[index];
    
        //套用公式
        int L1 = min + width*index;     //区间下限
        double rate = (1.0) * (N/2-sigma) / count[index];
        median = L1 + rate * width;
    
        printf("L1=%d\nmedian=%d\n",L1,median);
    
    }
    
    展开全文
  • java 计算中位数方法

    万次阅读 2019-01-04 15:51:14
    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数中位数就是中间的那个数, 如果一个集合是奇数个,那么中位数就是按大小排列...

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个

    先说说什么是中位数:

    中位数就是中间的那个数,

    如果一个集合是奇数个,那么中位数就是按大小排列后,最中间那个数,

    如果一个集合是偶数个,那么中位数就是按大小排列后,最中间那2个数的平均数。

    比如:

    1,2,3,4,5  那中位数就是3

    1,2,3,4,5,6 那中位数就是 (3+4)/2 = 3.5

    知道逻辑后方法就很简单了 下面是代码

    public static void main(String[] args) {
    	List<Integer> total = new ArrayList<Integer>();
    	total.add(4);
    	total.add(2);
    	total.add(3);
    	total.add(1);
    	total.add(5);
    	total.add(6);
    	double a = median(total);
    	System.out.println(a);
    }
    private static double median(List<Integer> total) {
    	double j = 0;
    	//集合排序
        Collections.sort(total);
        int size = total.size();
        if(size % 2 == 1){
        	j = total.get((size-1)/2);
        }else {
        	//加0.0是为了把int转成double类型,否则除以2会算错
        	j = (total.get(size/2-1) + total.get(size/2) + 0.0)/2;
        }
    	return j;
    }

    1. 方法内先判断集合是奇数还是偶数,如果是奇数那么就是第n+1/2个数 ,也就是下标为n-1/2的值,

    如果是偶数 就是第n/2和n/2+1的数的平均值 也就是下标为n/2-1和n/2的平均值

    2. 该方法传入的是list集合  如果为数组  可以先用Arrays.aslist()方法转换后传入

    展开全文
  • Python实现求中位数

    千次阅读 2020-08-25 16:22:35
    使用python的内置方法list.sorted()对序列进行排序取中位数 实现 设数据为test: #作者:FarryNiu test = [5,5,6,4,5,4,7,1,10,2,11,10,10] #对test进行升序排列 print(sorted(test)) #偶数 if len(test)%2 == 0: ...

    方法

    使用python的内置方法list.sorted()对序列进行排序取中位数

    实现

    设数据为test:

    #author:FarryNiu
    test = [5,5,6,4,5,4,7,1,10,
    展开全文
  • 中位数即2分位数,那么同样可以使用该函数计算。具体使用方如下: percentile:percentile(col, p) col是要计算的列(值必须为int类型),p的取值为0-1,若为0.5,那么就是2分位数,即中位数。 percentile_approx...
  • Python中计算list的中位数

    千次阅读 2018-08-17 08:50:02
    这个解决方法非常巧妙,它利用了取反数和为1的特性,通过列表负索引来获得列表中位数。 对 return (data[half] + data[~half]) / 2 的解释: 排序后得到序列[1,2,3,4,5,6],其列表长度为偶数,中位数由列表中间...
  • 众数中位数在分组区间计算方法

    千次阅读 2020-03-13 09:40:09
  • 否则采用中位数(四分位数间距)进行统计描述,采用非参数检验进行组间比较。大家对于四分位数间距可能会比较陌生,一般遇到数据不符合正态分布时,手足无措。今天,我们一起来看看。1四分位数(Quartile)是统计学中分...
  • 什么是中位数?数值型数组的中位数是在数据排序后位于数组中间项的值。如果数组有偶数个元素,中位数就是最中间的两个数值的平均数。中位数对于了解“我的值是否位于中间?”非常有用。比如,我在学校的最后一次考试...
  • # coding=utf-8 import numpy as np import pandas as pd datas = [98,83,65,72,79,76,75,94,91,77,63,83,89,69,64,78,63,86,91,72,71,72,70,80,65,70,62,74,71,76] #平均数 ...#中位数 mid = np...
  • PostgreSQL中计算百分位数和中位数

    千次阅读 2021-05-11 21:38:40
    PostgreSQL9.4版本之后很容易对一组值计算百分位数,主要是用有序集合的聚集函数percentile_cont 和 percentile_disc。 这两个函数类似,但对合并结果有些差异: percentile_disc 返回最接近请求百分的离散值。 ...
  • pyton构建一个计算列表中位数的函数

    千次阅读 2019-05-14 10:22:49
    对于元素个数不同的列表而言,中位数计算方式分为如下两种。 (1)若列表中元素的个数为奇数,则中位数为排序后列表中间位置的那个数。 (2)若列表中元素的个数为偶数,则中位数为排序后列表中间位置的两个数的...
  • 大数据求中位数(插值计算

    千次阅读 2020-06-15 11:48:24
    常规(数据量不大的情况)求中位数和基于插值计算中位数的方法 在学数学时我们学到过求中位数的方法,在数据个数为偶数时找最中间的两个数然后求平均数如果数据个数为奇数时则只需找数据个数一半的那位上的数字...
  • python的列表List求均值和中位数实例

    万次阅读 2020-03-08 21:59:41
    这篇文章主要介绍了python的列表List求均值和中位数实例,具有很好对参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 我就废话不多说了,直接上代码吧! import numpy as np a = [2,4,6,8,10] average_a = np...
  • sqlserver 中位数计算方法

    千次阅读 2011-09-15 16:04:12
    1、一个子集中的中位数 COUNT(x.cashmoneys)为奇数 SELECT x.cashmoneys FROM (select distinct cashmoneys from apprexpense) x, (select distinct cashmoneys f
  • 计算一串数组的均值、中位数、标准差 #!/usr/bin/env python #-*- coding:utf-8 -*- ''' @author : FIGTHING @file : DataMining.py @function: @software: Pycharm @time : 2019/06/13/15:40 ''' import numpy as...
  • 众数、中位数、分位数 使用 numpy 的 median 函数可以得到其中位数,quantile 函数可以得到其分位数,但 numpy 包目前还没有计算众数的函数。例如: >>> a = [8, 19, 34, 9, 18] >>> np.median(a) # 得到数组 a 的...
  • 假设待检验的变量为carquan 输入命令:sum carquan, detail
  • python之求中位数

    万次阅读 2018-04-26 20:23:28
    中位数 给你一个整数列表L, 输出L的中位数(若结果为小数,则保留一位小数)。 例如: L=[0,1,2,3,4] 则输出:2 2.说明 如果列表有奇数个整数,则输出中间那个 如果列表有偶数个整数,则输出中间两个...
  • 中位数

    千次阅读 2013-03-19 10:23:57
    中位数(Medians)统计学名词,是指将统计总体当中的各个变量值按大小顺序排列起来,形成一个数列,处于变量数列中间位置的变量值就称为中位数,用Me表示。当变量值的项数N为奇数时,处于中间位置的变量值即为中位数...
  • python 计算平均值、中位数、标准差

    千次阅读 2021-06-14 15:28:20
    python计算平均值、中位数、标准差(通过导入原有txt文件中的数组) 运行截图: 代码: def getdata(filename): #导入原有txt文件中的数组 with open(filename, 'r') as f: numlist=f.readlines() nums=[] for...
  • #计算中位数 def count_median(lis): if len(lis) % 2 == 0: mid = float((lis[len(lis) / 2] + lis[len(lis) / 2 - 1])) / 2 else: mid = lis[len(lis) / 2] return mid #计算上下四分位数 def count_...
  • 上四分位数(上下四分位数计算公式)

    万次阅读 2021-07-27 01:20:27
    四分位差(quartile deviation),也称为内距或四分间距(inter-quartile range),它是上四分位数(QU,即位于75%)与下四分位数(QL,即位于25%)的差。...把一个数组从小到大排序,中位数是中间那个数上四...
  • python求平均数、方差、中位数的例子CalStatistics.pydef getNum(): #获取用户不定长度的输入nums = []iNumStr = input("请输入数字(回车退出):")while iNumStr != "":nums.append(eval(iNumStr))iNumStr = input(...
  • 什么是中位数? 数值型数组的中位数是在数据排序后位于数组中间项的值。如果数组有偶数个元素,中位数就是最中间的两个数值的平均数。 中位数对于了解“我的值是否位于中间?”非常有用。比如,我在学校的最后...
  • C语言计算平均数/众数/中位数

    千次阅读 热门讨论 2019-12-18 16:50:57
    1)计算平均数/众数/中位数 在调查数据分析(Survey data analysis)中经常需要计算平均数、中位数和众数。用函数编程计算40个输入数据(是取值1—10之间的任意整数)的平均数(Mean)、中位数(Median)和众数(Mode...
  • python中获取中位数的两种方法

    千次阅读 2021-01-11 22:06:18
    普通方法:对列表进行排序,然后根据长度为奇数或者偶数的不同情况计算中位数def huahua(x):length = len(x)print(length)x.sort()print(x)if (length % 2)== 1:z=length // 2y = x[z]else:y = (x[length//2]+x...
  • rating.quantile(0.995) #8.6 求最小值、最大值、平均值、中位数、标准差、总和 rating.min() #1.9 rating.max() #9.0 rating.mean() #6.723200000000003 rating.median() #6.8 rating.std() #0.9454287892779637 ...
  • JAVA求数组的平均数,众数,中位数

    千次阅读 2021-07-03 13:55:48
    中位数中位数是指把一组数据从小到大排列,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。 众数:众数是指一组数据中出现...
  • 均值、中位数中位数的概念以及优缺点对比。偏态分布难点分析,以及偏度、峰度计算公式。文末附相关学习链接。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,274,543
精华内容 509,817
关键字:

中位数计算