python常用包及主要功能

Python022

python常用包及主要功能,第1张

Python常用包:NumPy数值计算、pandas数据处理、matplotlib数据可视化、sciPy科学计算、Scrapy爬虫、scikit-learn机器学习、Keras深度学习、statsmodels统计建模计量经济。

NumPy是使用Python进行科学计算的基础包,Numpy可以提供数组支持以及相应的高效处理函数,是Python数据分析的基础,也是SciPy、Pandas等数据处理和科学计算库最基本的函数功能库,且其数据类型对Python数据分析十分有用。

pandas 是python的一个数据分析包,是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

Matplotlib是强大的数据可视化工具和作图库,是主要用于绘制数据图表的Python库,提供了绘制各类可视化图形的命令字库、简单的接口,可以方便用户轻松掌握图形的格式,绘制各类可视化图形。

SciPy是一组专门解决科学计算中各种标准问题域的包的集合,包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算等,这些对数据分析和挖掘十分有用。

Scrapy是专门为爬虫而生的工具,具有URL读取、HTML解析、存储数据等功能,可以使用Twisted异步网络库来处理网络通讯,架构清晰,且包含了各种中间件接口,可以灵活地完成各种需求

Scikit-Learn是Python常用的机器学习工具包,提供了完善的机器学习工具箱,支持数据预处理、分类、回归、聚类、预测和模型分析等强大机器学习库,其依赖于Numpy、Scipy和Matplotlib等。

Keras是深度学习库,人工神经网络和深度学习模型,基于Theano之上,依赖于Numpy和Scipy,利用它可以搭建普通的神经网络和各种深度学习模型,如语言处理、图像识别、自编码器、循环神经网络、递归审计网络、卷积神经网络等。

Statsmodels是Python的统计建模和计量经济学工具包,包括一些描述统计、统计模型估计和推断。

在敏捷开发宣言中,最后一句为“响应变化 高于 遵循计划”,从敏捷本质上来说,IT部门对于业务部门所提需求的响应度会是IT部门的一个重要指标。

那应该如何度量业务需求响应度呢?

从单一的业务需求响应度来说可以度量从需求提出到需求上线的时间,一个团队在一段时间的需求的响应度可能如下图所示:

敏捷开发模式下会尽量追求需求的平准化,这使得团队在一段时间内完成的需求会有一个众数的波峰值,也有一个长尾来表示超出平准化需求的特殊需求。

若是取均值或者中位数可以看到对于业务需求响应度来说还是有很大一部分的数据没有被覆盖,所以实际实施时,可以试算一下P80以后的百分位值,看哪一个更能符合团队的需求平准度。P80以后的值都可以用以衡量服务级别,P85,P90,P95都可用以做一个平衡点。一般选用P85是从正态分布来说,从下图所示(50%+34.1%-1标准方差,约为85%):

若我们以P85作为一个基准点,则可取 统计周期内,需求时效的P85值来作为需求时效的目标值。

如何快速计算一组数据的P85值

1)Excel中有PERCENTILE函数专门用来计算百分位值

假设你的数据在A列的A1到A10

在B1输入=PERCENTILE(A1:A10,0.1) 得到的是第10[百分位数

在B2输入=PERCENTILE(A1:A10,0.9) 得到的是第90百分位数

2)Python中也可以用numpy中的percentile函数来计算

3)PENCENTILE函数的人工计算方法

第1步:以递增顺序排列[原始数据(即从小到大排列)。

第2步:计算指数i=np%=j+g,n为原始数据的个数,j为整数部分,g为小数部分。

第3步:

1)当g=0时:P百分位数=X(j)第J个数

2)当g≠0时:P百分位数=g X(j+1)+(1-g) X(j)

以此,我们可以顺利的算出 需求时效的P85值。