分享一下Python数据分析常用的8款工具


Posted in Python onApril 29, 2018

Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性。Python可用于数据分析,但其单纯依赖Python本身自带的库进行数据分析还是具有一定的局限性的,需要安装第三方扩展库来增强分析和挖掘能力。

分享一下Python数据分析常用的8款工具

Python数据分析需要安装的第三方扩展库有:Numpy、Pandas、SciPy、Matplotlib、Scikit-Learn、Keras、Gensim、Scrapy等,以下是千锋武汉Python培训老师对该第三方扩展库的简要介绍:

1. Pandas

Pandas是Python强大、灵活的数据分析和探索工具,包含Series、DataFrame等高级数据结构和工具,安装Pandas可使Python中处理数据非常快速和简单。

Pandas是Python的一个数据分析包,Pandas最初被用作金融数据分析工具而开发出来,因此Pandas为时间序列分析提供了很好的支持。

Pandas是为了解决数据分析任务而创建的,Pandas纳入了大量的库和一些标准的数据模型,提供了高效的操作大型数据集所需要的工具。Pandas提供了大量是我们快速便捷的处理数据的函数和方法。Pandas包含了高级数据结构,以及让数据分析变得快速、简单的工具。它建立在Numpy之上,使得Numpy应用变得简单。

带有坐标轴的数据结构,支持自动或明确的数据对齐。这能防止由于数据结构没有对齐,以及处理不同来源、采用不同索引的数据而产生的常见错误。

使用Pandas更容易处理丢失数据。
合并流行数据库(如:基于SQL的数据库)
Pandas是进行数据清晰/整理的最好工具。

2. Numpy

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

Numpy提供了两种基本的对象:ndarray和ufunc。ndarray是存储单一数据类型的多维数组,而ufunc是能够对数组进行处理的函数。Numpy的功能:

  • N维数组,一种快速、高效使用内存的多维数组,他提供矢量化数学运算。
  • 可以不需要使用循环,就能对整个数组内的数据进行标准数学运算。
  • 非常便于传送数据到用低级语言编写(C\C++)的外部库,也便于外部库以Numpy数组形式返回数据。

Numpy不提供高级数据分析功能,但可以更加深刻的理解Numpy数组和面向数组的计算。

3. Matplotlib

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

Matplotlib是Python的一个可视化模块,他能方便的只做线条图、饼图、柱状图以及其他专业图形。
使用Matplotlib,可以定制所做图表的任一方面。他支持所有操作系统下不同的GUI后端,并且可以将图形输出为常见的矢量图和图形测试,如PDF SVG JPG PNG BMP GIF.通过数据绘图,我们可以将枯燥的数字转化成人们容易接收的图表。
Matplotlib是基于Numpy的一套Python包,这个包提供了吩咐的数据绘图工具,主要用于绘制一些统计图形。
Matplotlib有一套允许定制各种属性的默认设置,可以控制Matplotlib中的每一个默认属性:图像大小、每英寸点数、线宽、色彩和样式、子图、坐标轴、网个属性、文字和文字属性。

4. SciPy

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

Scipy是一款方便、易于使用、专门为科学和工程设计的Python包,它包括统计、优化、整合、线性代数模块、傅里叶变换、信号和图像处理、常微分方程求解器等。Scipy依赖于Numpy,并提供许多对用户友好的和有效的数值例程,如数值积分和优化。

Python有着像Matlab一样强大的数值计算工具包Numpy;有着绘图工具包Matplotlib;有着科学计算工具包Scipy。
Python能直接处理数据,而Pandas几乎可以像SQL那样对数据进行控制。Matplotlib能够对数据和记过进行可视化,快速理解数据。Scikit-Learn提供了机器学习算法的支持,Theano提供了升读学习框架(还可以使用CPU加速)。

5. Keras

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

6. Scikit-Learn

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

Scikit-Learn是基于Python机器学习的模块,基于BSD开源许可证。
Scikit-Learn的安装需要Numpy Scopy Matplotlib等模块,Scikit-Learn的主要功能分为六个部分,分类、回归、聚类、数据降维、模型选择、数据预处理。

Scikit-Learn自带一些经典的数据集,比如用于分类的iris和digits数据集,还有用于回归分析的boston house prices数据集。该数据集是一种字典结构,数据存储在.data成员中,输出标签存储在.target成员中。Scikit-Learn建立在Scipy之上,提供了一套常用的机器学习算法,通过一个统一的接口来使用,Scikit-Learn有助于在数据集上实现流行的算法。
Scikit-Learn还有一些库,比如:用于自然语言处理的Nltk、用于网站数据抓取的Scrappy、用于网络挖掘的Pattern、用于深度学习的Theano等。

7. Scrapy

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

8. Gensim

Gensim是用来做文本主题模型的库,常用于处理语言方面的任务,支持TF-IDF、LSA、LDA和Word2Vec在内的多种主题模型算法,支持流式训练,并提供了诸如相似度计算、信息检索等一些常用任务的API接口。

以上是对Python数据分析常用工具的简单介绍,有兴趣的可以深入学习研究一下相关使用方法!

Python 相关文章推荐
Python中统计函数运行耗时的方法
May 05 Python
Python脚本实现自动将数据库备份到 Dropbox
Feb 06 Python
Python优先队列实现方法示例
Sep 21 Python
Python Numpy 数组的初始化和基本操作
Mar 13 Python
Python通过for循环理解迭代器和生成器实例详解
Feb 16 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
python用match()函数爬数据方法详解
Jul 23 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
Python异常类型以及处理方法汇总
Jun 05 Python
openstack中的rpc远程调用的方法
Jul 09 Python
Pillow图像处理库安装及使用
Apr 12 Python
Python随机函数random()使用方法小结
Apr 29 #Python
Python中py文件引用另一个py文件变量的方法
Apr 29 #Python
python实现类之间的方法互相调用
Apr 29 #Python
Python装饰器原理与简单用法实例分析
Apr 29 #Python
Python2.7 实现引入自己写的类方法
Apr 29 #Python
Python 实现引用其他.py文件中的类和类的方法
Apr 29 #Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 #Python
You might like
关于mysql 字段的那个点为是定界符
2007/01/15 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP实现在线阅读PDF文件的方法
2015/06/23 PHP
jquery multiSelect 多选下拉框
2010/07/09 Javascript
Javascript将string类型转换int类型
2010/12/09 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
浅谈AngularJs指令之scope属性详解
2016/10/24 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
JavaScript继承与多继承实例分析
2018/05/26 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
Python中的面向对象编程详解(下)
2015/04/13 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
如何使用Python调整图像大小
2020/09/26 Python
极简的HTML5模版
2015/07/09 HTML / CSS
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
毕业生自荐书
2014/02/02 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
CSS3实现的3D隧道效果
2021/04/27 HTML / CSS
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
JavaScript执行机制详细介绍
2021/12/06 Javascript