017年Python生态系统已经超越了R,成为数据分析、数据科学和机器学习领域领先的平台

近期,数据挖掘资讯网站KDnuggets开展了一项调查,问题是“2016年和2017年,在数据分析、数据科学和机器学习工作中,你使用R、Python、两者都用,还是其他工具?”
  对954名受访者的调查显示,Python尚未完全“吞噬”R,但2017年Python生态系统已经超越了R,成为数据分析、数据科学和机器学习领域领先的平台,同时也在迅速吸引其他平台的用户。
  2016年,Python排名第二(“主要使用Python”占比为34%,“主要使用R”占比为42%),而在2017年的结果中,Python和R的占比分别为41%和36%。
  在KDnuggets的读者中,同时使用R和Python的比例也从2016年的8.5%上升至2017年的12%,而使用其他工具的比例从16%下降至11%。
  
 △ 2016年和2017年,在分析、数据科学、机器学习中,使用Python、R、两者都用、其他工具的份额
  随后,我们可以看看用户在不同平台之间的转移。
  
  △ 从2016到2017年,用户在Python、R、两者都用、其他工具间的转移情况
  上图看起来有些复杂,但我们可以专注于两个关键方面。Python在这两个方面都保持领先。
  忠诚度:Python用户的忠诚度更高。2016年,Python用户中的91%仍然继续使用Python。而在R的用户中,这一比例只有74%,在其他平台中只有60%。
  转移比例:大约10%的R用户转移至Python,但只有5%的Python用户转移至R。在2016年同时使用两种工具的用户中,只有49%仍然同时使用两者,而38%转而主要使用Python,只有11%转而主要使用R。
  接下来,我们来看看最近几年的变化趋势。
  
  △ 2014年到2017年,Python、R和其他平台份额的变化
  可以看到,R的份额正在缓慢下降(从2015年的约50%下降至2017年的约36%),而Python的份额则稳步上升,从2014年的23%上升至2017年的47%。其他平台的份额也在缓慢下降。
  在2015年关于R和Python的调查中,我们没有提供“同时使用Python和R”的选项。因此为了比较过去4年的数据,我们将2016年和2017年Python和R的份额按照如下公式来计算:
  Python总份额 = (Python份额) + 50%(同时使用Python和R的份额)
  R总份额 = (R份额) + 50%(同时使用Python和R的份额)
  最后,让我们看看各地区的趋势和模式。参与调查的用户来自各地区比例如下:
  美国/加拿大:40%
  欧洲:35%
  亚洲:12.5%
  拉美:6.2%
  非洲/中东:3.6%
  澳大利亚/新西兰:3.1%
  为了简化表格,对于“同时使用R和Python”的份额,我们以同上的方式进行处理,并将亚洲、澳大利亚/新西兰、拉美,以及中东/非洲合并为“其他”地区。
  △ 2016、2017年,Python、R、其他工具在各地区的使用情况
  在这3大地区中,我们观察到同样的模式:
  Python的份额上升8%到10%。
  R的份额下降2%到4%。
  其他平台的份额下降5%到7%。
  Python用户的未来看起来很光明,但我们认为,考虑到当前用户数规模庞大,R和其他平台仍将在可预见的未来保持一定的份额。

用户喜欢...

使用 Micro Python 快速开发基于实时微控制器的应用程序

实时嵌入式系统变得非常复杂,不仅要深入了解复杂的 32 位微控制器,还要了解传感器、算法、因特网协议以及各种不同的终端用户应用。随着开发周期缩短和功能增多,开发团队需要设法加...


盘点·GitHub最著名的20个Python机器学习项目

开源是技术创新和快速发展的核心。这篇文章向你展示Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势。 我们分析了GitHub上的前20名Python机器学习项目,发现scikit-Lear...


Python基础语法-常量与变量

Python是一门强类型的动态语言。 字面常量,变量没有类型,变量只是在特定的时间指向特定的对象而已,变量所指向的对象是有类型的。 变量:变量在赋值时被创建,它可以是任何对象的引...


英国伯明翰大学团队使用Theano,Python,PYNQ和Zynq开发定点Deep Recurrent神经网络

可编程逻辑(PLD)是由一种通用的集成电路产生的,逻辑功能按照用户对器件编程来确定,用户可以自行编程把数字系统集成在PLD中。经过多年的发展,可编程逻辑器件由70年代的可编程逻辑阵...


【活动】《MicroPython入门指南》正式出版了,进微信群一起交流!

第一本专门介绍MicroPython的中文图书《MicroPython入门指南》由电子工业出版社正式出版了。 《MicroPython入门指南》 作者:邵子扬 MicroPython是近年开源社区中最热门的项目之一,它功能强大,使...


Python Web 开发框架 Django 2.0 发布

流行 Python Web 开发框架 Django 释出了 2.0 版本。主要变化包括:停止支持 Python 2 系列,Django 1.11.x 是支持 Python 2.7 的最后版本,Django 2.0 支持 Python 3.4、3.5 和 3.6,其中 Python 3.4 将于 2019 年 3...


机器学习:朴素贝叶斯--python

今天介绍机器学习中一种基于概率的常见的分类方法,朴素贝叶斯,之前介绍的KNN, decision tree 等方法是一种 hard decision,因为这些分类器的输出只有0 或者 1,朴素贝叶斯方法输出的是某一类...


机器学习:决策树--python

今天,我们介绍机器学习里比较常用的一种分类算法,决策树。决策树是对人类认知识别的一种模拟,给你一堆看似杂乱无章的数据,如何用尽可能少的特征,对这些数据进行有效的分类。...


PYNQ 用Python运行FPGA

PYNQ介绍 PYNQ全称为Python Productivity for Zynq,即在原有Zynq架构的基础上,添加了对python的支持。Zynq是赛灵思公司推出的行业第一个可扩展处理平台系列,在芯片中集成了ARM处理器和FPGA可编程逻...


使用CircuitPython开发板简化基于ARM®Cortex®-M0 +的物联网嵌入式设计

许多嵌入式应用使用先进的MCU,但只需要基本的硬件控制功能,而不需要高级嵌入式设计的硬实时要求。开发商和制造商经常沉浸在硬件设计,C / C ++编程和实时操作系统的细节中。幸运的是,...


python的位置参数、默认参数、关键字参数、可变参数区别

一、位置参数 调用函数时根据函数定义的参数位置来传递参数。 #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_dict = {1: u'先生', 2: u'女士'} print 'hello %s %s, welcome to python world!' %(name, sex...


机器学习工具:Python 和 Numpy入门

写在前头 我们一般都是从C语言开始学起的,后来发现C语言不能满足我们快速开发的需求,因为它的API使用起来不很方便,还有就是有些功能亟待扩展,这时候我们很多人选择了C++或Java,C...


Python并行处理

原文:Parallel Processing in Python  作者:Frank Hofmann  翻译:Diwei 简介 当你在机器上启动某个程序时,它只是在自己的“bubble”里面运行,这个气泡的作用就是用来将同一时刻运行的所有程序进...


使用CircuitPython开发板简化基于ARM®Cortex®-M0 +的物联网嵌入式设计

许多嵌入式应用使用高级MCU,但只需要基本的硬件控制功能,而不需要高级嵌入式设计的硬实时要求。开发商和制造商经常沉浸在硬件设计,C / C ++编程和实时操作系统的细节中。幸运的是,有...


Python开发者必备6个基本库

原文:6 essential libraries for every Python developer  作者:Serdar Yegulalp  翻译:Peter 译者注:无论你是想快速入手Python还是想为Python应用程序构建本地UI,亦或者对Python代码进行优化,本文列举的...


Python正则表达式的七个使用范例

作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。 本文是一系列关于Python正则表达式文章的其中一部分。在...