根据KDnuggets2017年最新调查显示,Python生态系统已经超越R,成为数据分析、数据科学和机器学习领域最大的语言。本文介绍了本次KDnuggets调查的结果,并补充了一篇解释为什么Python是数据科学领域最受欢迎的语言的文章。PythonvsR:2017调查结果近日,KDnuggets发起了一项调查,问题是:你是否使用过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、both和其他平台的人数对比。接下来,让我们看看不同平台之间的转换。图2.2016年至2017年间,Python、R的转换,两者的使用,以及数据分析、数据科学和机器学习中的其他平台。这张图看起来有点复杂,Python胜出的主要领域有两个。忠诚度:Python用户似乎更加忠诚,2016年91%的Python用户仍在使用该语言,而R和其他平台的这一比例分别为74%和60%。切换趋势:只有5%的Python用户切换到R,10%的用户切换回来。而在2016年同时使用这两种语言的用户中,只有49%还在使用双平台,38%现在只使用Python,还有11%转向了R语言。在KDnuggets2015年的调查中,并没有提出“同时使用Python和R语言”的选项,所以在下图中的趋势线中,将2016年和2017年的数据按照以下公式转换为Python=(Pythonratio)+50%(usingbothPythonandR)R=(Rratio)+50%(usingPythonandR)我们可以看到R的使用份额在逐渐下降(从2015年的50%到36%in2017%),而Python的百分比逐年上升——从2014年的23%到2017年的47%。与此同时,其他平台的使用率正在逐渐下降。最后我们来看一下本次调查参与者的地域分布:美国/加拿大:40%欧洲:35%亚洲:12.5%拉丁美洲:6.2%非洲/中东:3.6%澳大利亚/新西兰:3.1%至简化图表,下图中结合了双语和其他语言的比例。图4:2016年与2017年按地区划分的Python、R和其他语言的比较我们发现所有地区都存在相同的模式:Python增长了8%-10%;R下降2%-4%;其他平台占比下降5%-7%。Python用户的前途一片光明,但我们预计R和其他平台由于其庞大的嵌入式基础而在未来保持一定的分量。Python如何跻身数据科学之巅可以肯定地说,Python是一种非常流行的工具,涵盖了各行各业的广泛职业。由于其熟悉的语言、丰富的资源和框架,以及庞大的硬件开发社区,Python自然成为开发者的首选工具。Packt的2017年技能调查显示,Python已从2016年的第二位上升到各种职位的技术专业人员中最常用的工具。我们问SebastianRaschka:为什么应用机器学习和深度学习的研究人员,以及Packt最畅销的机器学习与Python的作者都转向了Python?语言的下一步是什么?他不得不承认:近20年来,Python一直是最流行的语言。通往巅峰的艰难之路:PYTHON是如何成为数据科学的通用语言的?毫无疑问,Python是有史以来最流行的编程语言之一。但是最初发生的事情真的很难描述,无论是语言本身还是对编程语言的热爱。我们是否首先为科学计算、数据科学和机器学习开发了优秀的开源数据库促使人们选择Python作为他们的工具,或者我们开发这些是因为越来越多的人在使用Python。无论哪个是真的,有一件事是显而易见的:Python是一种非常通用的语言,易于学习和使用。在我看来,这就是它在今天如此常用的原因。虽然大多数科学计算算法不是用纯Python实现的,但Python仍然是一种优秀的语言,可以与Fortran、C/C++和其他语言的非常高效的实现进行交互。所谓从计算效率高的低级语言调用代码,Python为用户提供了非常自然和直观的编程界面,这可能是Python作为通用语言流行的重要原因之一,特别是在数据科学和机器学习社区中,.未来的框架:我们应该关注哪些工具、框架和数据库Python开发了许多有趣的库。作为一名数据科学家或机器学习从业者,我经常关注Python核心科学堆栈中维护良好的工具。例如,NumPy和SciPy是处理数据数组和科学计算的高效库。当涉及到严肃的数据清理时,我们可以使用多功能的Pandas包。Pandas是一个开源库,为Python编程语言提供快速和简化的数据处理和数据分析工具。主要为Python提供真实、高端的数据分析。数据可视化我也推荐Matplotlib,Seaborn也提供了更多的绘图功能和更专业的绘图。此外,Scikit-learn是一个很好的通用机器学习工具,它为数据挖掘和分析提供了有效的工具。这可能是我最喜欢的一个,因为它为几乎所有基本的机器学习算法和许多有用的数据操作工具提供了一个非常好的API。当然,我在自己的项目中发现了很多有用的库。当我需要额外的性能时,我首选的数据框架库是Dask。Dask是一个非常适合处理大型、难以放入内存的数据帧的库,它还支持跨多个处理器的并行计算。或者使用TensorFlow、Keras和PyTorch,它们都非常适合实现深度学习模型。使用什么库取决于你的个人喜好和项目需要,但是用Python开发一直有很多方便有趣的框架,关键是找到适合你的。Python的未来是什么样的?在大多数人看来,Python的未来是非常光明的。该语言刚刚被IEEESpectrum列为排名第一的编程语言。根据Packt最近的一项调查,它是近期科技界最受欢迎的工具。虽然这里我们主要是从数据科学和机器学习的角度谈论Python,但我们会经常听到其他领域的人也将Python视为一种功能丰富的语言,拥有大量的库和完整的生态系统。Python可能不是解决所有问题的最佳工具,但对于想要“把事情做好”的程序员来说,它被认为是一种“有效”的语言。此外,虽然拥有大量的库是Python的优势之一,但它的大多数开发包目前都得到了很好的维护——那些数据科学和机器学习库每天都有新的特性和改进。例如,2006年启动的NumPy项目,作为Python数据科学的核心库,最近获得了价值645,000美元的资金。Python及其相关库在我们的工作中发挥着重要作用,我非常感谢所有这些工具背后的开发人员,如果没有这些开源库,Python就不会是今天的样子。对于我们来说,Python可以是一个非常重要的工具,我希望它的用户多想想帮助开源社区的发展。无论是文档修订、错误修复还是新代码、新功能或新库,所有贡献都将帮助整个社区。社区向前发展。由于这个充满活力的社区,Python的未来看起来一片光明。
