统计学习第三周:描述性统计

一、python安装

python安装,我们常用在windows或者linux中安装。
目前经常用到的版本有python2.7,python3.6.X,不过目前python2.72020年将会被取消更新。
网上建议升级到3.x版本,但是目前仍有些程序运行在python2.7稳定版本上,因此可能会经常安装2个版本的python。
可以安装anaconda,其中自带了相关的python科学计算包,一般默认对应版本,一般在AI 或者有TensorFlow 等机器学习或数据挖掘需求时,需要用到python3.6.x等对应版本,可以下载anaconda3-5.2.0 ,具体可以参考https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ ,并参考对应的版本信息。
在python安装完毕后,可以安装Pycharm ,这是python我使用的IDEA,或者安装Jupyter , notebook 。
当前阿里的SQLFlow 即使用Jupyter,一种通过sql方式实现数据机器学习算法的python实现,具体内容可以通过百度了解。
python安装,一般直接带有python command , 在配置环境变量后,通过cmd  中,有些功能在python2 或python3中语法有些不同。
```python
python 
print("123")  #python3.x中用此方法
print ("平均值:",np.mean(result))  #python3.x
print "123"   #python2.x中用此方法
print "平均值:",np.mean(result)  #python2.x中
在多版本共存中,python2,python3 需要单独安装,先安装python2.7 ,后在安装过程中注册环境变量;然后安装python3.6的版本,并注册环境变量,在修改python编译器名称,如:
修改D:\python2\中python.exe和pythonw.exe的名称为python2.exe、pythonw2.exe;
修改D:\python3\中python.exe和pythonw.exe的名称为python3.exe、pythonw3.exe。
一般在python多个版本中共用pip ,但是使用pip 是只对应一个版本,安装插件时常出错,因此需要注意。

 参考:https://blog.csdn.net/weixin_39986952/article/details/84794537

二、pandas 和numpy 环境安装

在本地安装python3.6后,通过一下命令安装

```powershell
pip  install  pandas
........
pip  install  numpy

三、python 实现描述性统计

*excel表中数据的格式如下:F列为第6列,0...5,现在统计相关数量指标(用描述性统计进行)*
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191113224116494.png)
```powershell
#1.import 包
import  pandas  as  pd
import  numpy  as  np
from  scipy  import  stats as sts
#2.从excel表中读取数据,r进行语义转换
df = pd.read_excel(r'C:\Users\lenovo\Desktop\apple.xlsx')
#获得前5行数据
data =  df.head()
#输出
print("获得到所有的值:\n{0}".format(data))
#3.将数据转换到数组中,excel表中第五
df_li = df.values.tolist()
result = []
for s_li  in  df_li:
    result.append(int(s_li[5]))
#4.输出原数据
print ("原数据:",result)
#原数据: [6, 3, 2, 2, 1, 2, 5, 4, 1, 1, 2, 1, 1, 3, 1, 1, 2, 1, 5, 1, 2, 2, 2]
#输出排序的数据
print ("排序后",np.sort(result))
#排序后 [1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 4 5 5 6]
#转换为Series类型
parray = pd.Series(result)
#5.平均值
#print "平均值:",np.mean(result)  #python2.7
#print "平均值:",parray.mean()    #python2.7
print ("平均值:",np.mean(result))  #python3.6
print ("平均值:",parray.mean())      #python3.6
#平均值: 2.217391304347826

从均值可以看出,2.21能反应这个数据的一个集中程度。

#6.众数
print("众数:",parray.mode().values)
#众数: [1]

因为1,为消费者消费的数量比较多的数值,能够反应消费者的消费大众化水平,一个基准衡量线。

#7.中位数
print("中位数:",parray.median())
#中位数: 2.0

中位数,中间的数,和众数、均值共同分析数据本质的一个情况,能初步衡量数据的一个分部与偏态的情况。

#8.四分位数
print("第一四分位数:",parray.quantile(0.25))
print("第二四分位数:",parray.quantile(0.5))
print("第三四分位数:",parray.quantile(0.75))
#第一四分位数: 1.0
#第二四分位数: 2.0
#第三四分位数: 2.5
#9.极差
print("极差:",np.ptp(result))
#极差: 5
#10.平均差
print("平均差:",abs(parray-parray.mean()).mean())
#平均差: 1.1039697542533085
#11.方差
print("方差:",np.var(result))
#方差: 2.083175803402647
#12.#标准差
print("标准差:",np.std(result,ddof=1))
#ddfo  在numpy中计算标准差代表自由度,0为总体标准差,1为样本标准差
#因为总体标准差是有偏的,样本标准差是无偏的;而在pandas中默认整好与#numpy相反
print("标准差:",parray.std())
#标准差: 1.4757593342575277
#13.四分位差
print("四分位差:",parray.quantile(0.75)-parray.quantile(0.25))
#四分位差: 1.5
#14.#异众比率
print("异众比率:",(len(parray)-sts.mode(parray)[1][0])/len(parray))
#异众比率: 0.6086956521739131
#15.#离散系数
print("离散系数:",parray.std()/parray.mean())
#离散系数: 0.6655385232926105
#16.#偏态系数
print("偏态系数:",sts.skew(result))
#偏态系数: 1.2655260160131534
#17.#峰态系数
print("峰态系数:",sts.kurtosis(result))
#峰态系数: 0.5593344554201058

参考:https://www.cnblogs.com/jasonfreak/p/5441512.html
参考:https://blog.csdn.net/qq_32412759/article/details/77774286
参考:还有一篇,本文的python程序就是参考至它的文章,不过暂时找不到,抱歉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值