阅读本文大概需要5分钟
Python之所以这么流行,这么好用,就是因为Python提供了大量的第三方的库,开箱即用,非常方便,而且还免费哦,那么Python中到底有哪些 黄金般的库呢 ,今天我们就来给大家讲一讲,学会了这些库不仅对提高你的功力大有裨益,而且还能涨工资 , 不管你信不信,反正我是信了~~哈哈
一: 数据分析
学Python的同学里估计 有30%以上是为了做数据分析师或者数据挖掘 ,所以数据分析相关的库,你一定要知道(也许有同学会问数据分析的工具很多有R,MATLAB,SAS,Stata,为啥要用Python,这个问题回答估计要说一壶,我年后讲数据分析的时候,会详细讲解)
1.NumPy
NumPy是Python科学计算的基础包,它提供:
1).快速高效的多维数组对象ndarray;
2).直接对数组执行数学运算及对数组执行元素级计算的函数;
3).用于读写硬盘上基于数组的数据集的工具
4).线性代数运算、傅里叶变换,以及随机数生成
2.Pandas
大名鼎鼎的Pandas可以说只要做数据分析的,无人不知无人不晓,因为它太重要了.Pandas库提供了我们很多函数,能够快速的方便的,处理结构化的大型数据,不夸张的说,Pandas是让Python成为强大的数据分析工具的非常重要的一个因素.
而且对于金融行业,比如基金股票的分析师来说,pandas提供了高性能的时间序列功能和一系列的工具,可以自由的灵活的处理数据,一次使用你就会爱上它.
3.Matplotlib
matplotlib是最流行的用于 绘制数据图表的Python库 ,它和下面我们要讲的 IPython结合的很爽,绝对是好基友,提供了一种非常好用的交互式的数据绘图环境.
4.IPython
IPython是Python科学计算标准工具集的组成部分,它可以把很多东西联系到一起,有点类似一个增强版的Python shell.
目的是为了提高编程,测试和调试Python代码的速度,好像很多国外的大学教授,还有Google大牛都很喜欢用IPython,确实很方便,至少我在分析数据的时候,也是用这个工具的,而且不用print,回车就能打印
二: 机器学习
现在人工智能非常火爆,机器学习应该算是人工智能里面的一个子领域,而其中有一块是对文本进行分析,对数据进行深入的挖掘提取一些特征值,然后用一些算法去学习,训练,分析,甚至还能预测.
打个比方吧,大家都知道瑞雪兆丰年,其实下雪和丰收没有什么联系,但是通过大量的数据分析,发现只要有瑞雪,来年丰收的概率就非常大,于是就用了瑞雪兆丰年的谚语.扯远了,我们回来继续说:
5.NLTK
自然语言处理里面赫赫有名的就是NLTK全称叫自然语言工具包(Natural Language Tookit),里面包含了大量的函数模块,可以获取语料库,字符串的处理,词性的解析,分类,语义解释,概率分析还有评估.
6.scikit-learn
Python社区里面机器学习模块sklearn,内置了很多算法,几乎实现了所有基本机器学习的算法。
它主要包括6个方面:分类,回归,聚类,数据降维,模型选择,数据预处理.补充说一句里面的大量的算法都和数据有关,若数学基础不好的,可能会有一些吃力.
三: 爬虫与Web
这一块基本都和网页打交道,无论是你自己搭建一个网站还是爬别人的网站,下面几个库是必须要知道的
7.爬虫库
beautifulsoup4,urllib2,lxml,requests
上面几个库可以说是学习Python爬虫必备的库,必须要掌握,当然有的同学说我爬网页不是也可以用正则表达式吗,确实可以但是会很不方便,因为bs4和lxml都有便捷的接口,一般我们都是和正则结合使用,如果对速度有要求的话,建议用lmxp,它比bs4 速度要快很多
8.Scrapy
爬虫的世界里面有没有懒人专用的框架~~当然有啦,scrapy就是其中比较有名的,可以快速,高层次的
web抓取网页,并从web站点的页面中提取结构化的数据
Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试.最爽的就是它是一个框架,任何人都可以根据需求方便的修改,里面有很多类型爬虫的基类,如BaseSpider、sitemap爬虫等
9.web框架
Django算是Python web框架里重量级的选手,主要是因为它提供了一站式的解决方案,包括缓存,ORM,后台管理,验证,表单等等,是的开发复杂的数据库驱动的网站变的很简单,而且有非常齐备的官方文档
Flask设计的理念跟Django完全相反,它是轻量级Web应用框架的代表.它只保留核心的功能,其他的功能都是可以变动,可以扩展的,你可以更加直接的需求灵活搭配
Tornado全称叫Tornado Web Server,目前是Facebook开源的一个版本,它和其他主流的框架有一个非常明显的区别:就是非阻塞式服务器,速度非常快.特别对于长轮询,WebSocket等实时要求高的web服务来说是一个福音,基本可以和Node.js一决高下.
好了 Python的黄金库 就讲到这里啦,我觉得虽然库的学习固然很重要,但是最重要的是你需要知道自己为什么要学这些库, 你到底要解决哪个领域的事情,由问题驱动去学习是比较好的方法(个人建议仅供参考)
也欢迎更多喜欢Py thon的同学关注 菜鸟学python, 一起来学py thon吧 长按下方的二维码即可关注.
-------------
作者: 菜鸟学Python
公众号:菜鸟学python
博客专栏: 菜鸟学Python
大家也可以加小编微信:tszhihu (备注:Python),拉大家到 Python爱好者社区 微信群,可以跟各位老师互相交流。谢谢。