Python的主要库
本文在Creative Commons许可证下发布
市面上的分析工具大致分为两大类,菜单式的工具和命令行式的工具。前者适合于初学入门,类似于跟团旅游,提供了固定的路线。分析套路比较固定化,点几下鼠标就可以搞定也很省事。后者适合于老手玩家,类似于自由行,需要自己规划数据工作流,适用于自定义的灵活分析。大多数用户害怕命令行,然而使用命令行才能掌握真正的力量。
在命令行工具类别中,最耀眼的是R和Python这对双星。他们有非常多的相似之处,第一个相似之处是“快”。这种快不是纯计算速度快,而是从想法到结果的快。因为不论是探索数据还是建模,都需要各种尝试、各种试错、各种踩坑,如果要花2小时写代码,跑1分钟,不如花1分钟写程序,跑1小时。因为人的时间总是更为宝贵。第二个相似之处是扩展丰富。即有大量现成的函数模块。从想法到结果的快速实现,不能等待重新造轮子,另一方面,试错也要做很多复杂的自定义任务,将各种模块进行组合,调用各种外部交互接口,这两种开源工具都非常擅长。
二者的差异点在于Python是一种通用型编程工具,R专注于数据领域;R有更为丰富的专业统计函数,Python则长于机器学习;R有更好的可视化包,Python正在快速追赶;Python和R的核心语法非常简洁,一些R包的语法则兼收并蓄,错综复杂。当你有时间的时候,双修是最好的选择。因为这两种工具类似于筷子和勺子的区别,在不同场景下使用某种工具更为有效。
R语言这个工具与其生态系统,在我先前的文章已经介绍了。下文简单介绍一下python的七个最为重要的数据分析模块,或者称之为七种武器。
一、Numpy
numpy是Python提供数值计算的基础模块,也是Python生态中历史最为悠久的模块,没有它,就没有办法做快速高效的向量化计算。它还提供了线性代数等高级矩阵运算功能,另外还能集成C的代码。Python的许多扩展模块都是基于Numpy开发的,所以学好Numpy就算是奠定好了根基。
二、SciPy
SciPy是基于Numpy开发的高级模块,它用于解决科学计算中的一些标准问题。例如数值积分和微分方程求解,扩展的矩阵计算,最优化,概率分布和统计函数,甚至包括信号处理。练习好SciPy和numpy,就足以解决常见的计算问题,并不需要自己哼哧哼哧造轮子写函数了。
三、 Matplotlib
做数据研究同样需要漂亮的可视化工具。Matplotlib是python下最著名的绘图库,提供了一整套和Matlab相似的API,十分适合交互式绘图。也可将它作为绘图控件,嵌入各种应用程序中。在其基础之上,还有更为有趣的绘图工具Seaborn和Bokeh。
四、Pandas
在数据整理阶段,我们经常需要连接、读取不同类型的数据源,处理不同格式的数据对象,如果只使用Numpy会很麻烦。Pandas使Python具备了类似R的数据框对象。这样方便用于数据处理和分析,它提供大量易用、高效的数据操作函数库,能执行join以及其他SQL类似的功能来重塑数据,支持各种格式的输入输出数据。它与Python生态中的其它模块也有很好的整合。
五、Statsmodels
Statsmodels是python中专门用于统计分析的模块,提供各种回归模型函数,包括广义回归和稳健回归,还提供大量时间序列分析函数,例如ARIMA/VAR,各种经典假设检验和非参数方法一个都不少。有了它,你可以随时和R说离别。
六、Scikit-learn
Scikit-learn是非常著名的机器学习库,它提供一个统一的接口来使用不同模型,有助于迅速地在数据集上应用流行的算法。它包含了许多用于标准机器学习任务的工具,例如聚类、分类和回归等。不仅是各种算法,机器学习中重要的特征选择和模型评估均在模块中包含了。值得一提的另一个模块gensim:提供了词向量、主题模型等函数。有了这两种模块,天下就绝没有不能解决的事。
七、TensorFlow
在Python生态中,未来最为看好的是TensorFlow。它作为谷歌出品的深度学习框架,一出世就备受瞩目。TensorFlow提供了C++和python两种接口,让你能高效的设计各种机器学习算法,并且能运行在各类硬件架构之上。此外还有各种强力组件搭配,TensorBoard用于监控学习过程中的各项参数,ensorServer可用于生产环境的模型部署,甚至传说还有TPU这种专门用于深度学习的芯片。
在数据江湖中,没有顺手的武器,英雄亦束手加班中。数据之道。主要是得看使用它的是什么人。
Python的主要库的更多相关文章
- Python底层socket库
Python底层socket库将Unix关于网络通信的系统调用对象化处理,是底层函数的高级封装,socket()函数返回一个套接字,它的方法实现了各种套接字系统调用.read与write与Python ...
- 【C++实现python字符串函数库】strip、lstrip、rstrip方法
[C++实现python字符串函数库]strip.lstrip.rstrip方法 这三个方法用于删除字符串首尾处指定的字符,默认删除空白符(包括'\n', '\r', '\t', ' '). s.st ...
- 【C++实现python字符串函数库】二:字符串匹配函数startswith与endswith
[C++实现python字符串函数库]字符串匹配函数startswith与endswith 这两个函数用于匹配字符串的开头或末尾,判断是否包含另一个字符串,它们返回bool值.startswith() ...
- 【C++实现python字符串函数库】一:分割函数:split、rsplit
[C++实现python字符串函数库]split()与rsplit()方法 前言 本系列文章将介绍python提供的字符串函数,并尝试使用C++来实现这些函数.这些C++函数在这里做单独的分析,最后我 ...
- python使用cookielib库示例分享
Python中cookielib库(python3中为http.cookiejar)为存储和管理cookie提供客户端支持,下面是使用示例 该模块主要功能是提供可存储cookie的对象.使用此模块捕获 ...
- Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED
Python virtualenv安装库报错SSL: CERTIFICATE_VERIFY_FAILED 问题描述 使用pip按照virtualenv报错,如下: pip install virtua ...
- 【python】标准库的大致认识
正如那句 Python 社区中很有名的话所说的:“battery included”,Python 的一大好处在于它有一套很有用的标准库(standard library).标准库是随着 Python ...
- Python 图形 GUI 库 pyqtgraph
原文 Python 图形 GUI 库 pyqtgraph pyqtgraph 是纯 Python 图形 GUI 库,基于PyQT4 /pyside和NumPy.它主要目的用于在数学/科学/工程中.M ...
- python的urllib2库详细使用说明
一直以来技术群里会有新入行的同学提问关于urllib和urllib2以及cookielib相关的问题.所以我打算在这里总结一下,避免大家反复回答同样的问题浪费资源. 这篇属于教程类的文字,如果你已经非 ...
- 升级python的sqlite库版本
今天了解了一下用python获取chrome cookie信息,在研究的过程中,发现打开数据库失败,后来调查了一下发现是由于sqlite3库太老的缘故,起码需要3.8以上,然后看了一下python 2 ...
随机推荐
- 我有一个idea,但是没有钱,又没技术怎么办?
我想你还少讲一件事,就是同时如果你也没什么明确的商业计划,恭喜,那你有机会成为马云第二,因为他曾说过自己的成功要素就是「没钱」.「不懂技术」.「没有计划」,要是这么刚好让你从事互联网产业,我看不出三年 ...
- [MST] Describe Your Application Domain Using mobx-state-tree(MST) Models
In this lesson, we introduce the running example of this course, a wishlist app. We will take a look ...
- win7休眠的开启与关闭方法命令行操作和图文结合的鼠标操作
win7休眠的开启与关闭方法 从開始菜单中找到"附件→命令提示符",手工输入例如以下命令:powercfg -a.从这里能够清楚的看到,计算机是支持休眠的.显示"尚未启用 ...
- 公布Qt Widgets桌面应用程序的方法
公布Qt Widgets桌面应用程序的方法 Qt是一款优秀的跨平台开发框架,它能够在桌面.移动平台以及嵌入式平台上执行.眼下Qt 5介绍程序公布的文章帖子比較少.大家又很想要知道怎样公布Qt应用程序, ...
- Gradle学习之自己定义属性
请通过下面方式下载本系列文章的Github演示样例代码: git clone https://github.com/davenkin/gradle-learning.git 在前面的文章中我们 ...
- ubuntu 14.04 桌面版关闭图形界面
ubuntu 14.04 桌面版关闭图形界面 问题: 怎样将ubuntu14.04设置为文本模式启动? 解决方式: 改动改GRUB 的配置文件(不建议直接改 grub.conf) $sudo vim ...
- uwsgi和wsgi
一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的Body发送给浏览器: 浏览器收到HTTP响应,从HTTP Bo ...
- HDFS的配额
- iview中键盘上下左右事件的方法
document.addEventListener('keydown', function(e){ var keyCode = e.keyCode; // Esc slide-up ) { e.pre ...
- vue computed自动计算
<!DOCTYPE html> <html> <head> <title>vue</title> <meta charset=&quo ...