近日,kdnuggets做了一个关于数据科学、机器学习语言使用情况的问卷调查,他们分析了954个回答,得出结论——Python已经打败R语言,成为分析、数据科学和机器学习平台中使用频率***的语言。有关此次问卷更具体的情况如何?笔者将kdnuggets上发表的总结文编译整理如下:
之前我们在kdnuggets上做了这样一个问卷调查,2016、2017两年,在分析、数据科学和机器学习的工作中,你用R语言,还是Python,或两者都用,或选择其他的语言?
通过分析954个回答,我们得出了这样的结论:虽然Python并没有完全取代R语言,但在2017年,Python已经成功打败R语言,成为分析、数据科学和机器学习平台中使用频率***的语言。
在2016年Python还是第二位(主要用Python的人占34%,主要用R语言的人占42%),在2017年Python就以5%的优势领先于R语言(主要用Python的人占41%,主要用R语言的人占36%)。同时用Python和R两种语言的人也从2016年的8.5%增长到12%了,而用其他语言的人则从16%降到11%。
图1:2016-2017年,在分析、数据科学和机器学习中使用Python、R语言、Python和R语言、其他语言的占比
之后,我们分析了大家在不同语言之间的转换情况。
图2:2016-2017年,分析、数据科学以及机器学习平台中各种语言的转换情况
这张图看起来很复杂,不过从中可以很容易地看出Python在忠诚度和转换率两个关键层面都领先于其他语言。
忠诚度:使用Python的用户对它的忠诚度要高于使用其他语言的用户。2016年使用Python的用户中,有91%的人2017年还在继续使用它,而R语言的用户留存率为74%,其他语言的用户留存率则为60%。
转换率:从2016年到2017年,只有5%的Python用户转向R语言,而R语言用户转向Python的则是10%,这是前者的两倍。另外,2016年同时使用两种语言的人中,只有49%的人还在继续使用这两种语言,38%的人转向Python,11%的人转向R语言。
接下来我们看一下2014-2017年这几种语言的使用趋势。
因为我们2015年【R vs Python】的问卷调查中没有提供【同时使用两种语言】这个选项,因此下面2014-2016这四年的对比趋势图中,2016、2017年的Python、R语言使用趋势我们是这样计算的:
- Python*= (Python的比例) + 50% * (同时使用Python和R语言的比例)
- R* = (R的比例) + 50% * (同时使用Python和R语言的比例)
可以看到,R语言的使用率在逐年缓慢下降(从2015年的50%降到2017年的36%),而Python的使用率则从2014年的23%增长到2017年的47%。另外,其他语言的使用率也在逐年下降。
图3:2014-2017年,Python、R语言及其他语言在分析、数据科学和机器学习的使用情况对比
***,我们也按地区分析了几种语言的使用趋势,地区分布情况如下:
- 美国/加拿大,40%
- 欧洲,35%
- 亚洲,12.5%
- 拉美,6.2%
- 非洲/中东,3.6%
- 澳洲/新西兰,3.1%
为了简化对比图,我们将同时使用R语言和Python的比例也按照上面的计算方法折算到单独使用R语言和Python的比例中,并把亚洲、澳洲/新西兰、拉美、非洲/中东这四个占比较少的地区合并为一个区域。
图4:2016-2017年,不同地区使用Python、R语言和其他语言的情况
我们注意到不同区域的语言变化情况:
- Python的使用率增长了8-10%
- R语言的使用率降低了大约2-4%
- 其他语言的使用率降低了5-7%
上面的数据表明了Python的使用前景很好,我们也预测R语言和其他语言的使用率还是会有相当的占比,因为它们已经有很深的用户基础。