近日,kdnuggets 做了一个关于资料科学、机器学习语言使用情况的问卷调查,他们分析了954 个回答,得出结论──Python 已经打败R 语言,成为分析、资料科学和机器学习平台中使用频率最高的语言。有关此次问卷更具体的情况总结整理如下。
之前我们在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%。
▲ 2016~2017 年,在分析、资料科学和机器学习中使用Python、R 语言、Python 和R 语言、其他语言的占比。
之后,我们分析了大家在不同语言之间的转换情况。
▲ 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~2017 这4 年的对比趋势图中,2016、2017 年的Python、R 语言使用趋势我们是这样计算的:
Python*=(Python 的比例)+ 50% *(同时使用Python 和R 语言的比例)
R* =(R 的比例) + 50% *(同时使用Python 和R 语言的比例)
可以看到,R 语言的使用率在逐年缓慢下降(从2015 年的50% 降到2017 年的36%),而Python 的使用率则从2014 年的23% 增长到2017 年的47%。另外,其他语言的使用率也在逐年下降。
▲ 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 语言和其他语言的使用率还是会有相当占比,因为它们已经有很深的用户基础。