简述 Python 的 Numpy、SciPy、Pandas、Matplotlib 的区别

 

From:https://www.jianshu.com/p/32cb09d84487

 

  1. Numpy:基础的数学计算模块,以矩阵为主,纯数学。
  2. SciPy:基于Numpy,提供方法(函数库)直接计算结果,封装了一些高阶抽象和物理模型。比方说做个傅立叶变换,这是纯数学的,用Numpy;做个滤波器,这属于信号处理模型了,在Scipy里找。
  3. Pandas:提供了一套名为DataFrame的数据结构,适合统计分析中的表结构,在上层做数据分析,

更简洁的说:

  1. NumPy:N维 数组 容器
  2. SciPy:科学计算 函数库
  3. Pandas:表格 容器

 

非数学研究,建议直接入手 pandas,包含基础的 Numpy 方法

 

Numpy:

来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多,本身是由C语言开发。这个是很基础的扩展,其余的扩展都是以此为基础。数据结构为ndarray,一般有三种方式来创建。

numpy 主要用来做一些科学运算,主要是矩阵的运算。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都进行数组化,使得这些数学函数能够直接对数组进行操作,将本来需要在Python级别进行的循环,放到C语言的运算中,明显地提高了程序的运算速度。

 

Pandas:

基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。最具有统计意味的工具包,某些方面优于R软件。数据结构有一维的Series,二维的DataFrame(类似于Excel或者SQL中的表,如果深入学习,会发现Pandas和SQL相似的地方很多,例如merge函数),三维的Panel(Pan(el) + da(ta) + s,知道名字的由来了吧)。

学习Pandas你要掌握的是:

  • 1.汇总和计算描述统计,处理缺失数据 ,层次化索引
  • 2.清理、转换、合并、重塑、GroupBy技术
  • 3.日期和时间数据类型及工具(日期处理方便地飞起)

 

Matplotlib:

Python中最著名的绘图系统,很多其他的绘图例如seaborn(针对pandas绘图而来)也是由其封装而成。
绘制的图形可以大致按照ggplot的颜色显示,但是还是感觉很鸡肋。但是matplotlib的复杂给其带来了很强的定制性。其具有面向对象的方式及Pyplot的经典高层封装。

需要掌握的是:

  • 1.散点图,折线图,条形图,直方图,饼状图,箱形图的绘制。
  • 2.绘图的三大系统:pyplot,pylab(不推荐),面向对象
  • 3.坐标轴的调整,添加文字注释,区域填充,及特殊图形patches的使用
  • 4.金融的同学注意的是:可以直接调用Yahoo财经数据绘图

 

Scipy:

方便、易于使用、专为科学和工程设计的Python工具包.它包括统计,优化,整合,线性代数模块,傅里叶变换,信号和图像处理,常微分方程求解器等等。基本可以代替Matlab,但是使用的话和数据处理的关系不大,数学系,或者工程系相对用的多一些。
近期发现有个statsmodel可以补充scipy.stats,时间序列支持完美

scipy 主要是一些科学工具集,信号处理工具集(如线性代数使用LAPACK库,快速傅立叶变换使用FFTPACK库)及数值计算的一些工具(常微分方程求解使用ODEPACK库,非线性方程组求解以及最小值求解等)。

 

scikit-learn

scikit-learn:里面有很多机器学习相关的算法(如聚类算法,SVM等)。

 

 

用Python来编写机器学习方面的代码是相当简单的,因为Python下有很多关于机器学习的库。其中三个库 numpy,scipy,matplotlib,scikit-learn是常用组合,分别是科学计算包,科学工具集,画图工具包,机器学习工具集。

Python安装完Numpy,SciPy和MatplotLib后,可以成为非常犀利的科研利器。网上关于这三个库的安装都写得非常不错,但是大部分人遇到的问题并不是如何安装,而是安装好后因为配置不当,在使用时总会出现import xxx error之类的错误。我也是自己摸索了很久才发现如何去正确配置的

详解Python中的Numpy、SciPy、MatPlotLib安装与配置:https://www.jb51.net/article/128468.htm

 

 

Numpy和Scipy是机器学习项目中最受欢迎的函数库 

 

参考:http://www.sohu.com/a/291941853_506163

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495978.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

干货|重磅发布:人工智能行业应用价值报告(PDF报告下载)

来源:机器人大讲堂报告下载:https://pan.baidu.com/s/1QEUOHqhQvxs9hEY6NLzPPg未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评…

五年级上册分数计算机,分数计算题 五年级上册分数加减法计算题(100道)

题目:五年级上册分数加减法计算题(100道)有口算,也要有脱式计算解答:(1)6/147/14 (2)2/135/13 (3)6/159/15 (4)6/141/14(5)4/132/13 (6)2/152/15 (7)1/62/6 (8)3/148/14(9)3/144/14 (10)4/125/12 (11)4/93/9 (12)4/141/14(13)6/81/8 (14)8/113/11 (15)1/…

Spring Data JPA 从入门到精通~@PreUpdate异常场景分析

1、执行save()后,再次save(),PreUpdate不再触发 2、Transient字段的变更,不会触发PreUpdate方法 3、PreUpdate 不适用加密/解密场景 1、执行save()后,再次save(),PreUpdate不再触发 实体: Entity Entit…

ubuntu修改键盘映射

ubuntu修改键盘映射 通过xmodmap -pk 命令找到右shift键得keycode,打算将右shift映射到我笔记本的等号键去,因为笔记本上的等号键还具有加号键得功能,所以需要以下命令: xmodmap -e “keycode 62 equal plus” 62是右shift的keyc…

全球卫星导航 看中国“北斗”

来源:光明日报 作者:袁于飞2017年12月3日,第四届世界互联网大会世界互联网领先科技成果发布活动在浙江乌镇举行,中国卫星导航系统管理办公室主任冉承其介绍北斗卫星导航系统。新华社记者 孟鼎博摄3月30日,我国在西昌卫…

逻辑思维强的人适合学计算机不,逻辑思维强的人适合什么工作?

逻辑思维强的人适合什么工作?逻辑思维题内容:逻辑思维是人的理性认识阶段,人运用概念、判断、推理等思维类型反映事物本质与规律的认识过程。是人们将感性认识提升为理性认识的必要能力。那么逻辑思维强的人适合什么工作呢?逻辑性强的人适合做什么1.逻…

ADSL 拨号代理的搭建

From:崔庆才 - 轻松获得海量稳定代理!ADSL拨号代理的搭建 我们尝试维护过一个代理池。代理池可以挑选出许多可用代理,但是常常其稳定性不高、响应速度慢,而且这些代理通常是公共代理,可能不止一人同时使用,…

用AlphaGo设计材料合成实验

来源:曾林的科学网博客AlphaGo下围棋连挫顶尖高手最终孤独求败的故事几乎家喻户晓。这也引发了大家对人工智能的能力的广泛思考。在科学研究领域,比如说合成实验设计,传统的做法不外乎是依靠经验不断的尝试。纵然会有一些热力学基本规律作为指…

Lambda 表达式详解~简化匿名内部类

本节将介绍如何使用Lambda表达式简化匿名内部类的书写,但Lambda表达式并不能取代所有的匿名内部类,只能用来取代函数接口(Functional Interface)的简写。先别在乎细节,看几个例子再说。 例子1:无参函数的简…

app store 服务器维护,AppStore无法连接怎么办?几个小方法教你解决问题

原标题:AppStore无法连接怎么办?几个小方法教你解决问题苹果用户都知道,AppStore我们下载应用的地方,无论是自带软件还是第三方软件都能在这里找到。但是有时候我们会遇上AppStore无法理解的问题!简单来说,…

Python Twisted 介绍

Python Twisted介绍:http://blog.csdn.net/hanhuili/article/details/9389433 原文链接:http://www.aosabook.org/en/twisted.html 作者:Jessica McKellar Twisted 是用 Python 实现的 基于事件驱动 的 网络引擎框架,即一个 网络…

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

数据库用的是access,症状是 首页,列表页可以显示,但是内容页无显示 错误如下: Microsoft OLE DB Provider for ODBC Drivers 错误 80004005 readnews.asp 23行 我打开目录 找到readnews.aspx 页面发现,原来23行是一条:…

基于互联网大脑架构的阿里巴巴未来趋势分析【系列2】

作者 刘锋 《互联网进化论》作者,计算机博士前言在计算机科学中,计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调…

Lambda 表达式详解~深入JVM实现原理

读过上一篇之后,相信对Lambda表达式的语法以及基本原理有了一定了解。对于编写代码,有这些知识已经够用。本文将进一步区分Lambda表达式和匿名内部类在JVM层面的区别,如果对这一部分不感兴趣,可以跳过。 经过第一篇的的介绍&…

从别的网站服务器获取数据,使用get()方法以GET方式从服务器获取数据

使用get()方法以GET方式从服务器获取数据我的个人资料$(function () {$("#btnShow").bind("click", function () {var $this $(this);? {$this.attr("disabled", "true");$("ul").append("我的名字叫:&qu…

关于Linq to DataSet

代码 privatePagedDataSource BindMethod(PagedDataSource pds, stringkeyword) { OthersTradeBo bo null; try{ bo newOthersTradeBo(); DataSet ds responseDataSet(bo); DataTable dt ds.Tables…

Twisted 入门 教程

GitHub 地址:https://github.com/likebeta/twisted-intro-cn/tree/master/zh https://github.com/luocheng/twisted-intro-cn 示例代码:https://github.com/jdavisp3/twisted-intro Twisted 与 异步编程入门 系列( 英文 &#x…

OpenAI详细解析:攻击者是如何使用「对抗样本」攻击机器学习的

原文来源:OpenAI作者: Ian Goodfellow、Nicolas Papernot、Sandy Huang、Yan Duan、Pieter Abbeel、Jack Clark.「雷克世界」编译:嗯~是阿童木呀、EVA导语:一般来说,对抗样本(adversarial examples&#xf…

Lambda 表达式详解~Lambda与集合

我们先从最熟悉的*Java集合框架(Java Collections Framework, JCF)*开始说起。 为引入Lambda表达式,Java8新增了java.util.funcion包,里面包含常用的函数接口,这是Lambda表达式的基础,Java集合框架也新增部分接口,以便…

轩辕传奇服务器合并信息,轩辕传奇9月1日部分服务器合服公告

轩辕传奇9月1日部分服务器合服公告带个大家,这个更新后服务器合服公告都有哪些内容呢,下面就一起去看看吧。尊敬的轩辕勇士们:《轩辕传奇》开放测试以来人气依旧沸腾,各种战斗的激烈程度也随之升级!为了让勇士们尽享更刺激、更热血…