作者:[已重置]
链接:https://zhuanlan.zhihu.com/p/26054228
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

阅读本文大概需要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的黄金库就讲到这里啦,我觉得虽然库的学习固然很重要,但是最重要的是你需要知道自己为什么要学这些库,你到底要解决哪个领域的事情,由问题驱动去学习是比较好的方法(个人建议仅供参考)

Python里的黄金库,学会了你的工资至少翻一倍的更多相关文章

  1. 为什么在Python里推荐使用多进程而不是多线程

    转载  http://bbs.51cto.com/thread-1349105-1.html 最近在看Python的多线程,经常我们会听到老手说:"Python下多线程是鸡肋,推荐使用多进程 ...

  2. 为什么在Python里推荐使用多进程而不是多线程?

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?   要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: 1. ...

  3. Python里format()方法基本使用

    '''第一种:自然连接''' #format 连接字符串 str = '{}使用的python是{}版本'.format('我','3.6.5') print(str) #打印结果:我使用的pytho ...

  4. Python里的单下划线,双下划线,以及前后都带下划线的意义

    Python里的单下划线,双下划线,以及前后都带下划线的意义: 单下划线如:_name 意思是:不能通过from modules import * 导入,如需导入需要:from modules imp ...

  5. 为什么在Python里推荐使用多进程而不是多线程?(为什么python多线程无法增加CPU使用率?)

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景:     ...

  6. Python里的类和对象简介

    ---恢复内容开始--- Python里的类  对象=属性+方法: 对象的属性主要是指主要的特征和参量,而方法主要是指函数: 类是一个具有一定特征和方法的集合,而对象是类的一个:类和对象的关系就如同模 ...

  7. python(34):为什么在Python里推荐使用多进程而不是多线程?

    最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?                  要知其然,更要知其所以然.所以有了下面的深 ...

  8. <转载> 为什么在Python里推荐使用多进程而不是多线程?

    经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢?                要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景:     ...

  9. python里字典的用法介绍

    一.什么是字典 字典是python里的一种数据类型,特点是元素的无序性,和键key的唯一性.字典的创建方法是{key:values},字典里的键key只能是不可变的数据类型(整型,字符串或者是元组), ...

随机推荐

  1. Write a merge sort program

    Merge Sort- Recursion Write a merge sort program in JavaScript. Sample array : [34, 7, 23, 32, 5, 62 ...

  2. ORCLE 列转行

    字符串转多列 实际上就是拆分字符串的问题,可以使用 substr.instr.regexp_substr函数方式 字符串转多行 使用union all函数等方式 wm_concat函数 wm_conc ...

  3. ES[7.6.x]学习笔记(十二)高亮 和 搜索建议

    ES当中大部分的内容都已经学习完了,今天呢算是对前面内容的查漏补缺,把ES中非常实用的功能整理一下,在以后的项目开发中,这些功能肯定是对你的项目加分的,我们来看看吧. 高亮 高亮在搜索功能中是十分重要 ...

  4. dsPIC单片机的CAN引脚设置

    用单片机的引脚复用 查询芯片数据手册C1RX的寄存器为RPINR26.C1RXR=(设置为需要用到的引脚) 引脚设置为输入(C1RX),TRIS=1: C1TX需要用的引脚为RPn41,查询数据手册R ...

  5. [工具-006] C#如何模拟发包登录

    最近接到一个任务,就是模拟某个贴吧的登录发帖功能,我的思路是通过IE浏览器的工具对登陆操作进行抓包,记录登录时候请求的URL,请求方式,请求正文等信息进行模拟的发包. 1.首先我们要到登陆页面,以摇篮 ...

  6. 学习scrapy框架爬小说

    一.背景:近期学习python爬虫技术,感觉挺有趣.由于手动自制爬虫感觉效率低,了解到爬虫界有先进的工具可用,尝试学学scrapy爬虫框架的使用. 二.环境:centos7,python3.7,scr ...

  7. Oracle数据库表被锁死的处理方法

    (1)锁表查询的代码有以下的形式: select count(*) from v$locked_object; select * from v$locked_object; (2)查看哪个表被锁 se ...

  8. golang内存逃逸

    golang程序变量会携带油一组校验数据,用来证明它的整个生命周期是否在运行时完全可知.如果变量通过了这些校验,它就可以在栈上分配.否则就说它逃逸了,必须在堆上分配     能引起变量逃逸到堆上的典型 ...

  9. Java实现 LeetCode 659 分割数组为连续子序列 (哈希)

    659. 分割数组为连续子序列 输入一个按升序排序的整数数组(可能包含重复数字),你需要将它们分割成几个子序列,其中每个子序列至少包含三个连续整数.返回你是否能做出这样的分割? 示例 1: 输入: [ ...

  10. Java实现 LeetCode 95 不同的二叉搜索树 II(二)

    95. 不同的二叉搜索树 II 给定一个整数 n,生成所有由 1 - n 为节点所组成的二叉搜索树. 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1, ...