Python里的黄金库,学会了你的工资至少翻一倍
作者:[已重置]
链接: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里的黄金库,学会了你的工资至少翻一倍的更多相关文章
- 为什么在Python里推荐使用多进程而不是多线程
转载 http://bbs.51cto.com/thread-1349105-1.html 最近在看Python的多线程,经常我们会听到老手说:"Python下多线程是鸡肋,推荐使用多进程 ...
- 为什么在Python里推荐使用多进程而不是多线程?
最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: 1. ...
- Python里format()方法基本使用
'''第一种:自然连接''' #format 连接字符串 str = '{}使用的python是{}版本'.format('我','3.6.5') print(str) #打印结果:我使用的pytho ...
- Python里的单下划线,双下划线,以及前后都带下划线的意义
Python里的单下划线,双下划线,以及前后都带下划线的意义: 单下划线如:_name 意思是:不能通过from modules import * 导入,如需导入需要:from modules imp ...
- 为什么在Python里推荐使用多进程而不是多线程?(为什么python多线程无法增加CPU使用率?)
最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: ...
- Python里的类和对象简介
---恢复内容开始--- Python里的类 对象=属性+方法: 对象的属性主要是指主要的特征和参量,而方法主要是指函数: 类是一个具有一定特征和方法的集合,而对象是类的一个:类和对象的关系就如同模 ...
- python(34):为什么在Python里推荐使用多进程而不是多线程?
最近在看Python的多线程,经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深 ...
- <转载> 为什么在Python里推荐使用多进程而不是多线程?
经常我们会听到老手说:“Python下多线程是鸡肋,推荐使用多进程!”,但是为什么这么说呢? 要知其然,更要知其所以然.所以有了下面的深入研究: 首先强调背景: ...
- python里字典的用法介绍
一.什么是字典 字典是python里的一种数据类型,特点是元素的无序性,和键key的唯一性.字典的创建方法是{key:values},字典里的键key只能是不可变的数据类型(整型,字符串或者是元组), ...
随机推荐
- Python中ThreadLocal的理解与使用
一.对 ThreadLocal 的理解 ThreadLocal,有的人叫它线程本地变量,也有的人叫它线程本地存储,其实意思一样. ThreadLocal 在每一个变量中都会创建一个副本,每个线程都可以 ...
- Kubernetes学习笔记(五):卷
简介 卷是Pod的一部分,与Pod共享生命周期.它不是独立的Kubernetes对象,因此不能单独创建. 卷提供的存储功能不但可以解决容器重启后数据丢失的问题,还可以使数据在容器间共享. 一些卷的类型 ...
- SQL——AUTO INCREMENT(字段自增)
AUTO INCREMENT -- 在新记录插入表中时生成一个唯一的数字.插入表数据时,该字段不需规定值. 在每次插入新记录时,自动地创建主键字段的值.在表中创建一个 auto-incremen ...
- SVN创建分支的相关操作
目的是为了在项目中进行相应的功能操作的时候避免项目的报错还能进行还原 1.在相应的位置创建分支 项目过大的只在 功能的位置 进行创建分支 Angular的src 不要在其下面进行创建分支 他有严格的文 ...
- 蒲公英 · JELLY技术周刊 Vol.08 -- 技术周刊 · npm install -g typescript@3.9.3
登高远眺 沧海拾遗,积跬步以至千里 基础技术 官宣: Typescript 3.9 正式发布 TypeScript 3.9 正式发布,这个版本主要聚焦于性能.改进某些特性和提升稳定性.编译器效率在这一 ...
- DevOps生命周期,你想知道的全都在这里了!
在大多数情况下,软件应用程序开发由于其规范性和复杂性而变得很耗时. 为了在短时间内交付高质量应用程序,软件开发人员正在遵循一套通用的实践,称为DevOps生命周期. 那么,DevOps在软件应用程序开 ...
- 2/3/4G网络架构
1通讯网络演进 1.1 概念名词 LTE=Long Term Evolution=长期演进, 是3GPP制定的高数据率.低时延.面向分组域优化的新一代宽带移动通信标准项目. E-UTRAN 无线接入网 ...
- 用非常硬核的JAVA序列化手段实现对象流的持久化保存
目录 背景 对象流的概念 对象流实例 引入一张组织结构图 定义组织架构图的类 类的完整结构 用对象流保存组织架构的对象信息 核心代码 用对象流读取文件并输出 核心代码 总结 背景 在OOP(面向对象编 ...
- [wordpress使用]002_主题
使用WordPress作为博客内容管理系统有一个很大的好处是,WordPress拥有大量的优秀的免费模板.你所需要的是下载安装,和稍作修改.下面接着开始WordPress教程:WordPress主题 ...
- 前端练手小项目——网页版qq音乐仿写
qq音乐网页版仿写 一些步骤与注意事项 一开始肯定就是html+css布局和页面了,这段特别耗时间,耐心写完就好了 首先要说一下大致流程: 一定要先布局html!,所以一定要先分析页面布局情况,用不同 ...