一、python安装
python安装,我们常用在windows或者linux中安装。
目前经常用到的版本有python2.7,python3.6.X,不过目前python2.7在2020年将会被取消更新。
网上建议升级到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,现在统计相关数量指标(用描述性统计进行)*

```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程序就是参考至它的文章,不过暂时找不到,抱歉。