数据描述性统计整理

匿名 (未验证) 提交于 2019-12-02 23:49:02

以下均以数据集nums为处理对象,其中含有若干相同类型的数据

  • 众数

特征:数据集合中出现次数最多(不唯一)

(备注:因为普通的scipy.stats.mode仅能返回最先出现的其中一个众数,所以以下我进行了扩充改写更符合众数的定义)

#!/usr/bin/python # coding:utf-8 from scipy import stats from collections import Counter  nums=[3,0,1,2,0,1,2,0,1,2] datas=dict(Counter(nums))               # 获得按频率分配后的统计字典 keys=[]                                 # 统计满足是众数的keys集合 sum=0                                   # 统计符合value与众数的value相同的个数  count = stats.mode(nums)[1]  for key,value in datas.items():     if value == count:         keys.append(key)         sum+=1  if sum==len(datas):                     # 若整个数据集各个元素出现的频率相同,则不存在众数;反之返回符合的众数集合(可能不止一个)     print "该数据集中无众数" else:     print "该数据集的众数为:",keys 
  • 中位数

特征:数据集包含的数值个数,若为奇数,则为排在最中间的那个数;若为偶数,则为排在中间两数的算术平均值

import numpy as np  nums=[1,2,3,4,5,6]  print "中位数是",np.median(nums)
  • 平均数
  • 算数平均数

特征:数据集数值之和除以数值个数

import numpy as np  nums=[1,2,3,4,5.5]  print "算数平均值是",np.mean(nums)
  • 加权平均数

特征:数据集中各数值与其各自权重乘积之和

import numpy as np  nums=[2,3,4] weights=[1,2,3]  print "加权平均值为",np.average(nums,weights=weights)
  • 几何平均数:

特征:用于各种定比数值间的平均值计算

from scipy import stats as sta  nums=[2,3,1]  print "几何平均值为",sta.gmean(nums)
  • 分位数

特征:将一个随机变量的概率分布范围分为几个具有相同概率的连续区间。分割点的数量比划分出的区间少1。(举例四分位点)
```
import numpy as np

nums=[2,3,4,5,6,7,8,1]  print "四分位点为",np.percentile(nums,25),np.percentile(nums,50),np.percentile(nums,75) ```
  • 方差

特征:数据集中各数值与均值之间差值平方的算数平均值

  • 标准差

特征:方差的开二次方根

  • 极差

特征:数据集内两最值之间的差值

  • 平均差

特征:数据集中各数值与均值之间差值的算数平均值

import numpy as np  nums=[2,3,4,5,6,7,8,9]  print "极差为",np.ptp(nums) print "方差为",np.var(nums) print "标准差为",np.std(nums)
  • 四分位差
  • 异众比率
  • 离散系数
  • 偏态系数
  • 峰态系数
转载请标明出处:数据描述性统计整理
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!