分享一下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脚本将绝对url替换为相对url的教程
Apr 24 Python
Python中Django框架下的staticfiles使用简介
May 30 Python
详解python并发获取snmp信息及性能测试
Mar 27 Python
Python实现图片尺寸缩放脚本
Mar 10 Python
Python实现的远程登录windows系统功能示例
Jun 21 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
python中scikit-learn机器代码实例
Aug 05 Python
python-opencv颜色提取分割方法
Dec 08 Python
使用pycharm设置控制台不换行的操作方法
Jan 19 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
May 07 Python
Python3标准库之functools管理函数的工具详解
Feb 27 Python
Python使用jpype模块调用jar包过程解析
Jul 29 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
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
2020/02/28 PHP
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
JavaScript框架(iframe)操作总结
2014/04/16 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
点击按钮出现60秒倒计时的简单js代码(推荐)
2016/06/07 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
vue 属性拦截实现双向绑定的实例代码
2018/10/24 Javascript
JavaScript函数的特性与应用实践深入详解
2018/12/30 Javascript
微信小程序访问豆瓣电影api的实现方法
2019/03/31 Javascript
详解vue中router-link标签所必备了解的属性
2019/04/15 Javascript
详解vuex持久化插件解决浏览器刷新数据消失问题
2019/04/15 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
vant 解决tab切换插件标题样式自定义的问题
2020/11/13 Javascript
django+js+ajax实现刷新页面的方法
2017/05/22 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Django组件content-type使用方法详解
2019/07/19 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
时尚的CSS3进度条效果
2012/02/22 HTML / CSS
HTML5表格_动力节点Java学院整理
2017/07/11 HTML / CSS
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
装潢设计实习自我鉴定
2013/09/19 职场文书
普通话宣传标语
2014/06/26 职场文书
技术员个人工作总结
2015/03/03 职场文书
好员工观后感
2015/06/17 职场文书
解决golang在import自己的包报错的问题
2021/04/29 Golang