Python实现描述性统计
时间:2019-11-15
本文章向大家介绍Python实现描述性统计,主要包括Python实现描述性统计使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
该篇笔记由木东居士提供学习小组、资料
描述性统计的概念很好理解,在日常工作中我们也经常会遇到需要使用描述性统计来表述的问题。以下,我们将使用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.mode().iloc[0]) 众数为:4, #众数 # 法二 from scipy.stats import mode mode_num = mode(data) print("众数为:%d, 众数的个数为:%d,"%(mode_num[0][0], mode_num[1][0])) 众数为:4, 众数的个数为:4,
# 中位数 # 法一: print("中位数:%d" %data.median()) 中位数:4 # 中位数 # 法二 print("中位数:%d" %np.percentile(data,50)) 中位数:4 # 中位数 # 法三 print("中位数:%d" %data.quantile(.50)) 中位数:4
离散趋势
# 方差 # 法一: print("方差:%d" %data.var()) 方差:6 # 方差 # 法二: s = 0 for i in data['data']: s = (i - data.mean())**2 + s print("方差:%d" %(s/(len(data)-1))) 方差:6
# 标准差 # 法一 print("标准差:%d" %data.std()) 标准差:2 # 标准差 # 法二: print("标准差:%d" %np.sqrt(s/(len(data)-1))) 标准差:2
# 极差 data.max() - data.min() data 9 dtype: int32
# 平均绝对离差 M = 0 for i in data['data']: M += abs(i - data.mean()) print(M/len(data)) data 2.04 dtype: float64
# 上四分位数 # 法一 np.percentile(data,75) 6.0 # 上四分位数 # 法二 data.quantile(.75) data 6.0 Name: 0.75, dtype: float64
# 下四分位数 # 法一 data.quantile(.25) data 2.0 Name: 0.25, dtype: float64 # 下四分位数 # 法二: np.percentile(data,25) 2.0
# 四分位差 np.percentile(data,75) - np.percentile(data,25) 4.0
# 离散系数 data.std()/data.mean() data 0.582476 dtype: float64
分布的形状
# 偏度 from scipy import stats stats.skew(data['data']) 0.4264951788847028
# 峰度 stats.kurtosis(data['data']) -0.5821005917159772
# 概括性信息 data.describe() data count 20.000000 mean 4.400000 std 2.562893 min 1.000000 25% 2.000000 50% 4.000000 75% 6.000000 max 10.000000
参考链接:https://blog.csdn.net/qq_43315928/article/details/102151709
原文地址:https://www.cnblogs.com/zym-yc/p/11868088.html
- WordPress 网站基于REST API 开发“微信小程序”实战
- 摩拜共享汽车亮相 首批新能源电动汽车试运行
- 基于SQL Server 2008 Service Broker构建企业级消息系统
- Windows主机管理系统Websitepanel
- 自定义Appfabric Cache 配置提供程序
- 2017年发生在上海的科技大新闻
- REST当中为什么要使用HTTP PUT
- 推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器--Jexus
- 人工智能与工业融合:没有你,对我很重要……
- DeepMind哈萨比斯对话哈里王子:2018年AI最大的突破在生物或化学
- 提升用户体验,微信小程序“授权失败”场景的优雅处理
- extjs 基础部分
- WordPress 网站开发“微信小程序”实战(二)
- Extjs form 组件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 数据分析可视化(四)|Pyecharts制作地图的几种方法评析
- tensorflow运行提示未编译使用SSE4.1,SSE4.2等问题的解决方法
- [手把手系列之二]实现多层神经网络
- 使用SystemVerilog简化FPGA中的接口
- 想用深度学习谱写自己的音乐吗?这篇指南来帮你!(附代码)
- 你不是说你会aop吗?
- 开源:推荐一个不错的离线IP地址定位库
- 武磊告别西甲!Python带你解读「全村的希望」武磊职业数据
- 谁在崛起,谁在没落?新一线城市竞争力盘点,用Python绘制动态图带你看懂!
- 两数相加
- 这样设置 IDEA,让你爽到飞起!
- Tensorflow基础入门十大操作总结
- Spring Boot 2.x基础教程:使用EhCache缓存集群
- 白平衡初探
- Activity的启动过程详解(基于10.0源码)