为何Python攀上数据科学巅峰?调查显示Python超越R

根据KDnuggets 2017年最新调查,Python生态系统已经超过了R,成为了数据分析、数据科学与机器学习的第一大语言。本文对KDnuggets的此项调查结果做了介绍,并补充了一篇文章讲解为何Python能成为数据科学领域最受欢迎的语言。

Python vs R:2017 年调查结果

近日,KDnuggets 发起了一项调查,问题是:

你在 2016 年到现在是否使用过 R 语言、Python(以及它们的封装包),或是其他用于数据分析、数据科学与机器学习的工具?

预料之内的是,Python 并没有完全「吞噬」R 语言的空间,但这项基于 954 个参与者的投票显示,Python 生态系统在今年已经超越了 R 语言,成为了数据分析、数据科学和机器学习的第一大语言。

值得一提的是,在 2016 年的调查中,Python 还处于落后地位(34% 比 42%),在 2017 年,两者的对比是 41% 比 36%。

此外,参与这项调查的 KDnuggets 读者也有倾向于共同使用 Python 和 R 两种语言的趋势(12%),而使用其他工具的人则有所减少(从 16% 降至 11%)。

图 1. 2016 年与 2017 年在数据分析、数据科学和机器学习上,Python、R、两者共同使用,以及其他平台的人数对比。

下面,让我们看看不同平台之间的转换。

图 2. 2016 年与 2017 年间,数据分析、数据科学和机器学习上,Python、R、两者共同使用,以及其他平台的人数转换示意。

这张图看起来有点复杂,其中有两个主要方面都是 Python 获得胜利。

忠诚度:Python 的用户显得更加忠诚,有 91% 的 2016 年 Python 用户仍然在使用这个语言,而 R 语言的忠诚度为 74%,其他平台为 60%。

转换趋势:只有 5% 的 Python 用户转投 R 语言,反向转换的比例则是 10%。而对于在 2016 年使用两种语言的用户而言,只有 49% 的人仍在使用双平台,38% 现在只用 Python,而 11% 转移到了 R 语言上。

在 KDnuggets 2015 年的调查中,并没有提出「同时使用 Python 和 R 语言」的选项,所以下图的趋势线中,2016 年和 2017 年的数据按照如下公式进行了转换

  • Python=(Python 比例)+50%(同时使用 Python 和 R)
  • R=(R 比例)+50%(同时使用 Python 和 R)

我们可以看到,R 的使用份额正在逐渐下降(从 2015 年的 50% 降低到了 2017 年的 36%),而 Python 的比例则呈逐年上升趋势——从 2014 年的 23% 增加到了 2017 年的 47%。同时,其他平台的使用量在逐渐减少。

最后,让我们看看这次调查的参与者地区分布:

  • 美国/加拿大:40%
  • 欧洲:35%
  • 亚洲:12.5%
  • 拉丁美洲:6.2%
  • 非洲/中东:3.6%
  • 澳大利亚/新西兰:3.1%

为了简化图表,在下图中,同时使用两种语言与使用其他语言的比例被合并。

图 4:分区域对比 Python、R 、其他,2016 对比 2017

我们在所有地区都发现了同样的模式:

  • Python 的比重增加了 8%-10%;
  • R 的比重下降了 2%-4%;
  • 其他平台的比重下降了 5%-7%。

Python 用户的未来看起来一片光明,但我们预期 R 和其他平台在未来会保持住一定比重,因为它们巨大的嵌入式基础。

Python 是如何上升到数据科学顶峰的

可以肯定地说,Python
是一个十分受欢迎的工具,它涵盖了各个行业的各种职业。由于它亲近性的语言、丰富的资源和框架以及它庞大硬件开发族群,Python
自然是开发人员们的首选工具。Packt 在 2017 年的技能调查显示,在不同职位的技术专业人员中,Python 从 2016
年的第二名上升成为用户最多的工具。我们向 Sebastian Raschka 提问:为什么不论是应用机器学习还是深度学习的研究者,亦或是
Packt 的畅销书 Python 机器学习的作者都转向了 Python 学习?这个语言的下一步将会是什么?他不得不承认:Python
已成为近二十年来最流行的语言。

艰难登顶:PYTHON 是如何成为数据科学通用语言的?

Python
是有史以来最流行的编程语言之一,这一点是毫无疑问的。但是最初发生的事情确实很难描述的,是语言本身还是对编程语言的爱。是否是我们首先为科学计算、数据科学以及机器学习开发出优秀的开源的数据库才推动了大家选择
Python 作为他们的工具,或是因为越来越多的人在使用 Python 我们才把这些开发出来。

无论哪一种是对的,有一件事是足够显而易见的:Python
是一种非常通用的语言,易于学习和使用。在我看来,这是今天它被如此普遍使用的原因。虽然科学计算的大多数算法都没有在纯 Python
中实现,Python 仍然是用于与 Fortran,C / C ++和其他语言中的非常有效的实现交互的优秀语言。

所谓的从计算高效的低级语言调用代码,以及 Python 为用户提供一个非常自然和直观的编程接口的这一事实可能是 Python 作为通用语言普及的重要原因之一,特别是在数据科学和机器学习社区中体现的更为明显。

未来的框架:我们应该关注什么工具、框架和数据库

Python 开发了许多有趣的库。作为一名数据科学家或机器学习从业者,我时常从 Python 核心科学堆栈中重点关注维护良好的工具。例如,NumPy 和 SciPy 是就是用于处理数据数组和科学计算的高效库。

当涉及严重的数据清洗时,我们可以使用多功能的 Pandas 包。Pandas 是一个开源库,可以为 Python
编程语言提供快速简化的数据处理和数据分析工具,它主要是为 Python 提供现实和高端的数据分析。我还建议使用 Matplotlib
进行数据可视化,Seaborn 还可以提供更多的绘图功能和更专门的绘图。此外 Scikit
学习是一个很好的通用机器学习工具,它为数据挖掘和分析提供了有效的工具。这可能是我最喜欢的一款了,因为它几乎可以为所有的基本机器学习算法和许多有用的数据处理工具提供一个非常好用的
API。

当然,我在自己的项目中发现了很多有用的库。当我需要额外的性能时,我首选的数据框架库是 Dask。Dask
是一个非常适合处理大型、难以装入内存的数据框架的库,它还能在多个处理器中进行并行计算。或者使用 TensorFlow、Keras 和
PyTorch,所有这些都非常适合实现深度学习模型。使用什么库取决于你的个人偏好和项目需求,但是一直以来都有很多方便有趣、使用 Python
开发的框架,关键是找到适合你自己的。

Python 的未来是什么样的?

在大多数人的眼里,Python 的未来非常光明。这个语言刚刚被 IEEE Spectrum 列为第一大编程语言。而 Packt
最近的调查也显示它是最近一段时期内科技界最为流行的工具。尽管在这里,我们主要从数据科学和机器学习的角度谈论
Python,但我们也会经常听说其他领域的人们也认为 Python 是一种功能丰富的语言,拥有大量的库和完整的生态系统。Python
或许不是所有问题的最佳工具,但对于想要「完成任务」的程序员来说,它被认为是一种「有效」的语言。

此外,虽然拥有大量库是 Python
的优势之一,但它的大多数开发包目前都得到了很好的维护——那些数据科学和机器学习库每天都有新特性与提升。例如 2006 年发起的 NumPy
项目,作为 Python 数据科学的核心库,最近它刚刚接受了价值 64.5 万美元的资助。

Python 及其相关库在我们的工作中扮演了重要角色,我非常感谢所有这些工具背后的开发者,没有这些开源库,Python
就没有今天。对于我们来说,Python 可以成为非常重要的工具,我希望它的用户们能够多考虑帮助开源社区的发展,不论文档修改、bug
修复还是新代码、新特性或新库,所有贡献都将帮助整个社区向前发展。因为这个富有活力的社区,Python 的未来有着光明的前景。

作者:佚名

来源:51CTO

时间: 2024-10-03 04:49:32

为何Python攀上数据科学巅峰?调查显示Python超越R的相关文章

技术 | 使用Python来学习数据科学的完整教程

我在SAS工作了5年多之后,决定走出舒适区.作为一名数据科学家,我在寻找其他好用的工具,幸运的是,没过多久,我发现了Python. 一直以来,我喜欢敲代码.事实证明,有了Python,敲代码变得更为容易. 我花了一周时间来学习Python的基础知识,从那时起,我不仅深入钻研Python,而且还帮助许多其他人学习这门语言.起初,Python是门通用语言,多年来,随着社区的大力支持,现在有了数据分析及预测建模库. 由于缺少Python数据科学资源,我决定创建本教程,旨在帮助大家快速入门.在本教程中,

国际数据咨询公司(IDC)调查显示

中国移动设备制造商华为超越苹果和诺基亚,一跃成为中东和非洲地区第二大智能手机制造商,其销量仅次于三星.IDC:华为手机中东非洲销量第二 仅次于三星IDC调查结果显示,2013年,华为智能机在中东和非洲地区的市场占有率为2%,而2014年第二季度,已跃升至10%.报告还显示,在该地区的智能手机市场,三星以45%的占有率遥遥领先,即便如此,还是比去年降低了8个百分点.同时,华为的市场占有率从2%跃至10%,占据第二位,领先于苹果(8%)和诺基亚(6%).与此同时,黑莓的处境仍不理想,在所有的智能手机

第二热门语言:从入门到精通,Python数据科学简洁教程

Python是一门通用的编程语言,在过去十年中被数据科学领域广泛使用.事实上,Python在数据科学领域是仅次于R的第二热门的编程语言. 本篇文章的主要目的在于向大家展示使用Python学习数据科学有多么的容易.你可能以为自己要先成为一名高级Python程序员,然后才能进行通常与数据科学相关的复杂任务,然而事实并非如此.Python附带了很多有用的工具库,它们可以在后台为你提供强大的支持.你甚至不需要知道程序在运行什么,你不必关心这些.唯一你真正需要知道的是,你需要执行一些特定的任务,而Pyth

数据科学入门难?老司机为你盘点 24 门精品课程

本文盘点了 24 个高品质的在线数据科学入门教程,原作者 David Venturi,他获有化学工程和经济学的双学位,热衷于数学.数据科学和统计学,同时也是一位编程爱好者.更具传奇色彩的是,他本来就读于一所名校的计算机科学专业,但觉得对数据科学更感兴趣--于是果断退学,从 Coursera.edx.Udemy 等慕课平台开始自学,终迈入专家行列. 他的经历说来也并不特别,世界上又多了一个慕课代言人而已.但雷锋网认为,他的经历具有两点价值:首先,最好的教学资源已经在那儿了--很多还是免费的,取不取

一份语言选择指南带你玩数据科学,选出你心中支持的语言

更多深度文章,请关注:https://yq.aliyun.com/cloud 随着大数据时代的到来,网络每天会产生大量的数据,一些行业会对这些数据进行分析并协助企业不断地发展新业务.创建运营模式等,比如电子商务.推荐系统等.那么谁对这些大数据进行分析呢?对应的工作领域是数据科学(Data Science),该领域需要结合先进的统计知识.定量分析能力和编程能力.涉及到编程,大家都会面临一个问题,有太多的编程语言可供选择,那么哪些编程语言适合数据科学领域呢?虽然没有正确答案,但想成为一名成功的数据科

掌握数据科学应该学习哪些语言?

原始的数据科学是劳动密集型活动,但当你会用适合的语言进行工作时,数据科学应该是非常智能有趣的工作,会让你得到一些不容易看到的结论. 一般来说,数据科学中常常会涉及大量数据的处理,此时优化代码的性能非常重要.考虑到这些基本原则,来看看哪些语言是数据科学中应该掌握的: R R 发布于 1995 年,是 S 语言的一个分支,开源.目前由 R Foundation for Statistical Computing 提供技术支持. 优点: 免费.开源,各种功能和函数琳琅满目 专门为统计和数据分析开发的语

用机器学习研究UFO目击报告!数据科学之魅:隐含狄利克雷分布

更多深度文章,请关注:https://yq.aliyun.com/cloud 本篇文章是讨论热门机器学习算法的文章合集中的一篇.如果你想了解更加详尽的背景知识以及我的写作初衷,请阅读这篇文章. 背景 隐含狄利克雷分布(LDA)算法曾被"提出"过两次,第一次提出是在2000年,用来根据遗传信息将人群划分至K个种族,到了2003年,LDA又一次被提出,用来在文本语料库中构建主题模型.而在本篇文章中,我将专注于主题建模部分的介绍.但是LDA在众多领域有着极为广泛的应用,遗传应用也是其中非常有

我为什么说 Python 是大数据全栈式开发语言

前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做"Fullstack JavaScript",是关于用JavaScript进行前端.服务器端,甚至数据库(MongoDB)开发,一个Web应用开发人员,只需要学会一门语言,就可以实现整个应用. 受此启发,我发现Python可以称为大数据全栈式开发语言.因为Python在云基础设施,DevOps,大数据处理等领域都是炙手可热的语言. 领域 流行语言 云基础设施 Python, Java, Go DevOps P

研究了数千个在线课程,我整理了一份数据科学入门课清单

一年前,我退出了加拿大最好的计算机科学项目之一,利用在线资源开始创建属于自己的数据科学硕士课程.我意识到我可以通过edX, Coursera,以及Udacity学习我所需要的一切,而且学的更快.效率更高,学费更低. 数据可视化:Alanah Ryding 现在我差不多快要完成了.我上了很多数据科学相关的课程,旁听过更多课程的部分内容.我知道对于一个准备成为数据分析师或数据科学家的初学者来说有哪些选择,以及什么样的技能是必需的.几个月前,我开始创建一个用评价驱动的指南,用来为数据科学中的每个主题推