描述性统计

使用Python进行描述性统计

限于喜欢 提交于 2020-01-26 03:40:53
目录 1 描述性统计是什么? 2 使用NumPy和SciPy进行数值分析   2.1 基本概念   2.2 中心位置(均值、中位数、众数)   2.3 发散程度(极差,方差、标准差、变异系数)   2.4 偏差程度(z-分数)   2.5 相关程度(协方差,相关系数)   2.6 回顾 3 使用Matplotlib进行图分析   3.1 基本概念   3.2 频数分析     3.2.1 定性分析(柱状图、饼形图)     3.2.2 定量分析(直方图、累积曲线)   3.3 关系分析(散点图)   3.4 探索分析(箱形图)   3.5 回顾 4 总结 5 参考资料 1 描述性统计是什么?   描述性统计是借助图表或者总结性的数值来描述数据的统计手段。数据挖掘工作的数据分析阶段, 我们可借助描述性统计来描绘或总结数据的基本情况 ,一来可以梳理自己的思维,二来可以更好地向他人展示数据分析结果。数值分析的过程中,我们往往要计算出数据的统计特征,用来做科学计算的NumPy和SciPy工具可以满足我们的需求。Matpotlob工具可用来绘制图,满足图分析的需求。 2 使用NumPy和SciPy进行数值分析 2.1 基本概念   与Python中原生的List类型不同, Numpy中用ndarray类型来描述一组数据 : 1 from numpy import array 2 from

Python实现描述性统计

喜夏-厌秋 提交于 2019-12-04 13:35:33
该篇笔记由木东居士提供学习小组、资料 描述性统计的概念很好理解,在日常工作中我们也经常会遇到需要使用描述性统计来表述的问题。以下,我们将使用Python实现一系列的描述性统计内容。 有关python环境的安装就次略过。 本次数据集由数据科学家联盟提供,https://pan.baidu.com/s/1lXAnyvSoti-U44MU2fubgw。 import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline data = pd.read_excel(r'C:\Users\user\Desktop\描述性.xlsx',encoding='UTF-8') data = data.iloc[:20] 集中趋势# 计算平均值 # 法一 print("算术平均数:%.2f" %data.mean())算术平均数:4.40 # 计算平均值 # 法二:几何平均数 data['data'] = data['data'].astype(int) s = 1 for i in data['data']: s = i * s print("几何平均数:%.2f" %np.sqrt(s)) 几何平均数:351941.81 # 众数 # 法一: print("众数为:%d," %data

描述性统计

♀尐吖头ヾ 提交于 2019-12-04 04:43:21
数据的集中趋势 众数 众数是样本观测值在频数分布表中频数最多的那一组的组中值,主要应用于大面积普查研究之中。 众数是在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。 一般来说,一组数据中,出现次数最多的数就叫这组数据的众数。 例如: 1,2,3,3,4的众数是3。 但是,如果有两个或两个以上个数出现次数都是最多的,那么这几个数都是这组数据的众数。 1,2,2,3,3,4的众数是2和3。 还有,如果所有数据出现的次数都一样,那么这组数据没有众数。 1,2,3,4,5没有众数。 计算方法: 分位数 分位数(Quantile),亦称分位点,是指将一个 随机变量 的 概率分布 范围分为几个等份的数值点,常用的有 中位数 (即二分位数)、 四分位数 、 百分位数 等。 ​ 分位数指的就是连续分布函数中的一个点,这个点对应概率p。若 概率 0<p<1, 随机变量 X或它的 概率分布 的分位数Za,是指满足条件p(X≤Za)=α的实数 常见分类 二分位数 对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,则中位数不唯一,通常取最中间的两个数值的平均数作为中位数,即二分位数。 一个数集中最多有一半的数值小于中位数

数据描述性统计整理

匿名 (未验证) 提交于 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 "该数据集的众数为:"