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

Python vs R:调查结果

近日,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 的未来有着光明的前景。

整理自:

  • http://www.kdnuggets.com/2017/08/python-overtakes-r-leader-analytics-data-science.html

  • http://www.cbronline.com/news/big-data/analytics/python-rose-top-data-science-world/


文章来源:机器之心(almosthuman2014)

精彩活动

福利 · 阅读 | 免费申请读大数据新书 第23期

推荐阅读

2017年数据可视化的七大趋势!

全球100款大数据工具汇总(前50款)

论大数据的十大局限

大数据时代的10个重大变革

大数据七大趋势 第一个趋势是物联网

Q: 你数据仓库了解多少?

欢迎留言与大家分享

请把这篇文章分享给你的朋友

转载 / 投稿请联系:hzzy@hzbook.com

更多精彩文章,请在公众号后台点击“历史文章”查看

Python超越R,为何Python攀上数据科学巅峰?相关推荐

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

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

  2. python和R对dataframe的单列数据进行统计:value_counts、table、unique、nunique、min、max、mean、sort、length、var、quantile、

    python和R对dataframe的单列数据进行统计:value_counts.table.unique.nunique.min.max.mean.sort.length.var.quantile. ...

  3. python 数据库表结构转为类_Python数据科学实践 | 数据库1

    大家好,基于Python的数据科学实践课程又到来了,大家尽情学习吧.本期内容主要由智亿同学与政委联合推出. 数据库永远是数据管理上最值得使用的工具.而把所收集的大量数据放入数据库之后再处理是数据科学实 ...

  4. 基于python物流管理系统毕业设计-长白高校邦数据科学通识课【Python基础语法】答案...

    长白高校邦数据科学通识课[Python基础语法]答案it8p 长白高校邦数据科学通识课[Python基础语法]答案 关注公众号{帅搜}即可查询答案 支持:网课,智慧树,知到,超星,尔雅,学习通,选修课 ...

  5. python 统计组合用什么库_Python数据科学,用这些库就够了

    为了方便学习,本文列出的20个Python库将按领域进行分类,有些你可能并不熟悉,但是真的能提高你的模型算法实现效率,多一点尝试,多一些努力! ▌核心库和统计数据 1. NumPy (Commits: ...

  6. python百科全书_维基百科中的数据科学:手把手教你用Python读懂全球最大百科全书...

    image 大数据文摘出品 编译:狗小白.李佳.张弛.魏子敏 没人否认,维基百科是现代最令人惊叹的人类发明之一. 几年前谁能想到,匿名贡献者们的义务工作竟创造出前所未有的巨大在线知识库?维基百科不仅是 ...

  7. python翻译库_[译] 鲜为人知的数据科学 Python 库

    Python 是一个很棒的语言.它是世界上发展最快的编程语言之一.它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性.整个 Python 及其库的生态系统使它成为全世界用户(初学者和 ...

  8. python中令人惊艳的小众数据科学库

    Python是门很神奇的语言,历经时间和实践检验,受到开发者和数据科学家一致好评,目前已经是全世界发展最好的编程语言之一.简单易用,完整而庞大的第三方库生态圈,使得Python成为编程小白和高级工程师 ...

  9. python的顶级库_三大用于数据科学的顶级Python库

    Python有许多吸引力,如效率,代码可读性和速度,使其成为数据科学爱好者的首选编程语言.Python通常是希望升级其应用程序功能的数据科学家和机器学习专家的首选. 由于其广泛的用途,Python拥有 ...

最新文章

  1. 宾阳 计算机 培训,宾阳县职业技术学校
  2. 3.分支结构与循环结构
  3. php设计模式之单例模式
  4. Smartforms Debug
  5. JavaScript prototype 属性
  6. SAP UI5 XML view lifecycle processing - defineMasterHeaderFooter
  7. acwing2058. 笨拙的手指(进制转换)
  8. The Closest M Points BZOJ 3053
  9. Python人脸识别的简要介绍(附实例、Python代码)
  10. Windows 7程序开发系列之一(任务栏篇)
  11. 数据结构——>线索化二叉树
  12. windows 垃圾广告软件清除
  13. 【OD矩阵】《城市公交IC卡·数据分析方法及应用》利用公交运营时间和乘客刷卡时间特征识别上车点
  14. 我是如何学习一门新技术的
  15. 免费国外视频素材网站
  16. Unity - IL2CPP报错
  17. 2020年度个税汇算清缴怎么办理?直接上干货!
  18. vue项目引入高德地图
  19. JAVA WEB 入门基础第一天
  20. Cortana小娜失败背后,微软的傲慢与偏见

热门文章

  1. Spring Boot中自动配置原理以及日志的基本使用
  2. 软件设计师习题笔记-重点习题一
  3. Qt工作笔记-QXmlStreamReader中的字符编码的坑
  4. 11相机不流畅_小米11有望本月发布,小米10退位让贤,256GB版本跌至3799
  5. 多生产者多消费者linux内核,Linux多线程实现“生产者和消费者”
  6. 加速国内 Github 访问,下载,的9种方案!
  7. 服务端api用php写还是用node,如何使用node搭建服务器,写接口,调接口,跨域
  8. mysql 最短路经_poj 3613 Cow Relays 经L边的最短路 | 学步园
  9. mysql导入数据库注释乱码_source命令 导入.sql文件时,中文乱码 或者是注释乱码...
  10. olap mysql_MySQL与OLAP:分析型SQL查询最佳实践探索