资讯专栏INFORMATION COLUMN

Python与R、Matlab的对比

yunhao / 1755人阅读

摘要:我们来看一下美国相关专业人员对两者的对比,只是粗略而不精准的翻译一下。小结其实在写这篇文章之前,我就问过一下包括清华在内的学校以及一些数学专业的学生,和还是占主流,但是经过一番调查发现在美国在数据科学数学等方面好像渐成压倒性的优势。

作为一枚程序员,想要研究Python编程语言与数学学习(教学)的结合,就不能不了解以及比对一下其他数学学习与应用的解决方案,比如R语言、Matlab等数学软件。经过广泛的搜索了解了一下国外的反馈与趋势之后,最终的结论就是Python确实是未来
Python与R语言的对比

Python与R语言在数据分析领域的对比,DataCamp上有一篇引用率非常高的文章,数据分析选择R还是Python,不过这篇文章是2015年写的,我们先大致总结一下文章内容:

R主要用于学术与研究,也开始迅速进入企业市场,越是接近统计学、研究、数据科学,你就会越偏爱R,而Python主要用于程序员想进入数据分析领域、掌握统计技能,以及其他开发人员进入数据科学领域。如果你的工作越接近工程环境,你会越偏爱Python。

R的社区生态主要是研究员,数据科学家、统计学家和量化研究员,而Python主要是程序员和开发者。

R学习门槛比较高,但是当你掌握了基础之后就学起来比较容易,R对程序员来说不难;Python可读性强,入门非常容易,被公认为非常不错的入门编程语言。

在2015年前的Tiobe编程语言的排名上Python排名在第4或第5,R排在第17到13。而据2015数据分析领域,用R的研究员占58%,Python占42%,两者都用的占23.45%;

在2013年,R转Python的有26%,Python转R的有18%,而新进入数据分析领域的有44%的人选择R,23%的人选择Python.

从2015年之前的情况看来,正如作者所说,R和Python在数据分析领域确实平分秋色,难分伯仲,从数据中我们可以看出,虽然Python相比R更流行,在编程方面更有优势,但是在数据科学领域,选择使用R的人更多。

但是翻到2018年的文章里看到2016、2017年的数据,情况下发生了逆转。在数据科学领域,2016年有34%的人选择Python,42%的人选择R,而到了2017年41%的人选择Python,36%的人选择R。在2017年的调查统计里数据科学家和工程师最流行的编程语言分别是JavaScript(58.7%,令人惊讶啊,可能与数据可视化有关?)、SQL(58%)、Python(45%),而R(11.2%),Python在商业领域领域比较火,而R在学术和研究领域比较多,所以不那么流行吧。而在最近的Tiobe的排行榜上,与数据科学相关的编程语言Python、R、SQL、Matlab等涨幅都比较大,Python在整个编程语言的流行度也由2014年的2%猛增到2019年8.26%,跃居第3,成为2018年年度语言。

Python、R、Scala在数据科学领域的流行包

Python与Matlab的对比

虽然不是学数学的,但是Matlab的大名可是如雷贯耳,与数学相关专业、相关行业的学生、工程师们基本一定会使用到它。MathWorks公司跟设计公司Adobe、三维软件公司Autodesk一样都是极其硬核的存在,旗下的产品不仅是学习必备,而且是工程(比工作听起来霸气)必备。我个人对Matlab的了解极其有限,Python与Matlab的对比我也只能像一个产品经理去广泛查阅专业意见来权衡利弊。我所得出的结论也只是基于掌握了Python的前提,断不敢用偏颇的立场去亵渎神器。
我们来看一下美国相关专业人员对两者的对比,只是粗略而不精准的翻译一下。

我是一名工程师,之前长期使用Matlab来处理复杂的数学运算都没有遇到什么大的问题,就在几个月前因为岗位需要学习了Python之后,我才意识到Matlab相比Python是多么的糟糕。之前需要我用Matlab花一整天处理的问题用Python只需数小时,Python的表现、流畅度让我惊讶。而且使用Python我可以做之前用Matlab做的任何事情,而且更优秀。因此我非常建议Matlab使用者转向Python。Python编程语言比Matlab更强大,能够联合非常多的外部工具模块,只需一个文件就可以调用非常多的库、函数、类,语法也更加简单,面向对象开发也更加方便,还能非常方便地调用C、C++、Fortran。Python是免费的,而且可以运行在更多平台上面。    ---Stackoverflow某工程师

经过调查Matlab与Python的宿命之争在2011年就开始了,而且网上Matlab与Python的对比文章、评论非常之多。Matlab官方在2013年就开始拿Matlab和Python进行对比官方对比最是致命:MATLAB OR Python中文,年代越近,由Matlab全面转向Python的建议就越多,更多人直言Python是未来的编程语言,在Python与Matlab的选择之上,看了非常多的建议,已成一边倒的趋势。
有人列出了Python相对于Matlab的8大优势,我只粗略翻译一下这8大优势,详情大家可以去查看原文:

Python的代码相比于Matlab更简洁,可读性更强;

和其他编程一样,Python都是从0开始计数,而Matlab不是;

Python可以更好的支持哈希字典;

面向对象开发让Python更简单、更优雅;

Python免费且开源;

Python一个文件、模块里可以包含非常多的函数;

Python支持import声明;

Python支持更多图像处理的包和工具集

在PyCon 2017年的大会上,多位大佬提出科学家应该全面拥抱Python,在2015年开始Python在NASA的地位就开始遥遥领先IDL、Matlab和Fortran。由于这里我们只讨论Python和Matlab在数学上的对比,至于科学家转型Python的优势的细节,大家可以看DataCamp的雄文。

小结

其实在写这篇文章之前,我就问过一下包括清华在内的学校以及一些数学专业的学生,Matlab和R还是占主流,但是经过一番调查发现在美国Python在数据科学、数学等方面好像渐成压倒性的优势。这也激励我要把用Python学数学的专栏给写下去。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43374.html

相关文章

  • TensorFlow、MXNet、Keras如何取舍? 常用深度学习框架对比

    摘要:简称,是基于聚焦行业应用且提供商业支持的分布式深度学习框架,其宗旨是在合理的时间内解决各类涉及大量数据的问题。是负责开发的用编写,通过引擎加速的深度学习框架,是目前受关注最多的深度学习框架。 作者简介魏秀参,旷视科技 Face++ 南京研究院负责人。南京大学 LAMDA 研究所博士,主要研究领域为计算机视觉和机器学习。在相关领域较高级国际期刊如 IEEE TIP、IEEE TNNLS、Mac...

    AlphaGooo 评论0 收藏0
  • MATLAB更新R2017b:转换CUDA代码极大提升推断速度

    摘要:陈建平说训练是十分重要的,尤其是对关注算法本身的研究者。代码生成其实在中也十分简单,陈建平不仅利用车道线识别模型向我们演示了如何使用生成高效的代码,同时还展示了在脱离环境下运行代码进行推断的效果。 近日,Mathworks 推出了包含 MATLAB 和 Simulink 产品系列的 Release 2017b(R2017b),该版本大大加强了 MATLAB 对深度学习的支持,并简化了工程师、...

    Corwien 评论0 收藏0
  • Python学数学相关教程、开源包推荐下载

    摘要:在上篇文章里,为大家推荐了一些数学学习的软件和微积分线性代数概率统计的学习视频,今天再推荐一些精心挑选的经典教材,并为大家提供电子书的下载链接,和视频搭配起来一起学习,效果会更好。我们要使用的以及等都包含在里面,无需额外下载。 在上篇文章里,为大家推荐了一些数学学习的软件和微积分、线性代数、概率统计的学习视频,今天再推荐一些精心挑选的经典教材,并为大家提供电子书的下载链接,和视频搭配起...

    wapeyang 评论0 收藏0
  • 初学者怎么选择神经网络环境?对比MATLAB、Torch和TensorFlow

    摘要:本报告面向的读者是想要进入机器学习领域的学生和正在寻找新框架的专家。其输入需要重塑为包含个元素的一维向量以满足神经网络。卷积神经网络目前代表着用于图像分类任务的较先进算法,并构成了深度学习中的主要架构。 初学者在学习神经网络的时候往往会有不知道从何处入手的困难,甚至可能不知道选择什么工具入手才合适。近日,来自意大利的四位研究者发布了一篇题为《神经网络初学者:在 MATLAB、Torch 和 ...

    yunhao 评论0 收藏0
  • Python numpy和matlab有什么区别?下文给大家解答

      小编写这篇文章的主要目的,主要是给大家介绍关于Python numpy和matlab区别的介绍,具体区别,下文给大家详细的解答。  numpy和matlab的几点差异  Python numpy和matlab都是便捷灵活的科学计算语言,两者具有很多相似之处,但也有一些混淆的地方,这里假定你熟悉matlab,但不了解numpy,记录几个numpy实例:  1、Numpy数组索引指定开始和结束时 ...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<