哪种数据科学编程语言更好?
来源:CPDA数据分析师网 / 作者:数据君 / 时间:2021-01-11
关于Python与R的争论越来越激烈
这是两种编码语言匹配的方式,Python与R是数据科学家之间的常见争论,因为两种语言都对数据工作有用,并且在数据科学职位的职位发布中常提到的技能之一,每种语言对于数据科学工作都有不同的优缺点,应根据您正在做的工作来选择,为了帮助数据科学家选择正确的语言。
Python吞噬着世界一个开发人员的副项目如何成为地球上热门的编程语言
在以下10个域中比较了R和Python,以确定哪种编程语言是更好的选择:
优胜者:Python尽管这是主观的,但Python大大减少了编码时括号和花括号的使用,使其更加圆滑。
学习曲线
优胜者:R尽管使用Python的数据科学家必须学习很多入门材料,包括NumPy,Pandas和matplotlib,但矩阵类型和基本图形已经内置在R中,使用R新手可以在几分钟之内进行简单的数据分析,Python库可能很难配置,即使对于精通系统的人而言,大多数R软件包都是开箱即用的。
可用库
优胜者:在Python包索引(PyPI中)拥有超过183000包,而综合R归档网络有超过12000人,但是PyPI在数据科学方面还很薄弱,例如我曾经需要代码来快速计算给定数据点的近邻居,不使用该代码进行分类,我能够立即找到一个软件包,而不是两个软件包,相比之下,刚才我试图找到Python的近邻居代码,至少是通过粗略的搜索是空手而归;只有一个实现形容自己简单明了,没有那么快,当您在PyPI上搜索以下术语时,什么都不会出现,对数线性模型;泊松回归 工具变量;空间数据;家庭错误率。
机器学习
获胜者:Python(但不是很多)机器学习和人工智能(AI)的崛起在一定程度上推动了Python近年来的大规模增长,尽管Python提供了许多经过微调的图像识别库,例如AlexNet,但也可以轻松开发R版本,Python库的强大之处在于设置了某些平滑图像的操作,可以轻松地在R的Keras包装器中实现,为此,可以开发TensorFlow的纯R版本,与此同时,我会声称R的随机森林和梯度增强的软件包可用性非常出色。
统计正确性
优胜者:R(到目前为止),机器学习的专业人士主张使用Python有时对所涉及的统计问题了解甚少,R是由统计学家写的,是为统计学家写的。
并行计算
优胜者:R和Python的基本版本对多核计算没有强大的支持,Python的多处理程序包不是解决其他问题的好方法,R的并行程序包也不是,支持集群计算的外部库在两种语言中都可以,目前Python具有更好的GPU接口。
C / C ++接口
优胜者:R(但不是很多)R的Rcpp是将R与C / C ++接口的强大工具,尽管Python具有类似swig的工具,但功能却不那么强大,并且Pybind11软件包仍在开发中,R的新ALTREP思想也具有增强性能和可用性的潜力,,但是Python的Cython和PyPy变体有时有时根本不需要显式的C / C ++接口。
面向对象,元编程
优胜者:R(但不是很多)尽管函数在R和Python中都是对象,但R对此更为重视,每当我使用Python工作时,都会因无法在终端上打印函数而感到烦恼,这在R中很多, Python只有一种OOP范例,在R中您可以选择几种,尽管有些人可能会争论这是一件好事,鉴于R的神奇的元编程功能(产生代码的代码),计算机科学家应该在R上流口水。
语言统一
获胜者:Python(到目前为止)当Python从2.7版过渡到3.x版时,这不会造成很大的破坏,但是由于RStudio的影响,R正在变成两种不同的方言:R和Tidyverse,Matloff写道,如果Tidyverse优于普通的R,可能会更容易接受,但我认为不是,这对初学者来说使事情变得更加困难。
链接数据结构
这是两种编码语言匹配的方式,Python与R是数据科学家之间的常见争论,因为两种语言都对数据工作有用,并且在数据科学职位的职位发布中常提到的技能之一,每种语言对于数据科学工作都有不同的优缺点,应根据您正在做的工作来选择,为了帮助数据科学家选择正确的语言。
Python吞噬着世界一个开发人员的副项目如何成为地球上热门的编程语言
在以下10个域中比较了R和Python,以确定哪种编程语言是更好的选择:
优胜者:Python尽管这是主观的,但Python大大减少了编码时括号和花括号的使用,使其更加圆滑。
学习曲线
优胜者:R尽管使用Python的数据科学家必须学习很多入门材料,包括NumPy,Pandas和matplotlib,但矩阵类型和基本图形已经内置在R中,使用R新手可以在几分钟之内进行简单的数据分析,Python库可能很难配置,即使对于精通系统的人而言,大多数R软件包都是开箱即用的。
可用库
优胜者:在Python包索引(PyPI中)拥有超过183000包,而综合R归档网络有超过12000人,但是PyPI在数据科学方面还很薄弱,例如我曾经需要代码来快速计算给定数据点的近邻居,不使用该代码进行分类,我能够立即找到一个软件包,而不是两个软件包,相比之下,刚才我试图找到Python的近邻居代码,至少是通过粗略的搜索是空手而归;只有一个实现形容自己简单明了,没有那么快,当您在PyPI上搜索以下术语时,什么都不会出现,对数线性模型;泊松回归 工具变量;空间数据;家庭错误率。
机器学习
获胜者:Python(但不是很多)机器学习和人工智能(AI)的崛起在一定程度上推动了Python近年来的大规模增长,尽管Python提供了许多经过微调的图像识别库,例如AlexNet,但也可以轻松开发R版本,Python库的强大之处在于设置了某些平滑图像的操作,可以轻松地在R的Keras包装器中实现,为此,可以开发TensorFlow的纯R版本,与此同时,我会声称R的随机森林和梯度增强的软件包可用性非常出色。
统计正确性
优胜者:R(到目前为止),机器学习的专业人士主张使用Python有时对所涉及的统计问题了解甚少,R是由统计学家写的,是为统计学家写的。
并行计算
优胜者:R和Python的基本版本对多核计算没有强大的支持,Python的多处理程序包不是解决其他问题的好方法,R的并行程序包也不是,支持集群计算的外部库在两种语言中都可以,目前Python具有更好的GPU接口。
C / C ++接口
优胜者:R(但不是很多)R的Rcpp是将R与C / C ++接口的强大工具,尽管Python具有类似swig的工具,但功能却不那么强大,并且Pybind11软件包仍在开发中,R的新ALTREP思想也具有增强性能和可用性的潜力,,但是Python的Cython和PyPy变体有时有时根本不需要显式的C / C ++接口。
面向对象,元编程
优胜者:R(但不是很多)尽管函数在R和Python中都是对象,但R对此更为重视,每当我使用Python工作时,都会因无法在终端上打印函数而感到烦恼,这在R中很多, Python只有一种OOP范例,在R中您可以选择几种,尽管有些人可能会争论这是一件好事,鉴于R的神奇的元编程功能(产生代码的代码),计算机科学家应该在R上流口水。
语言统一
获胜者:Python(到目前为止)当Python从2.7版过渡到3.x版时,这不会造成很大的破坏,但是由于RStudio的影响,R正在变成两种不同的方言:R和Tidyverse,Matloff写道,如果Tidyverse优于普通的R,可能会更容易接受,但我认为不是,这对初学者来说使事情变得更加困难。
链接数据结构
优胜者:Python(可能)经典的计算机科学数据结构,例如二进制树,很容易在Python中实现,虽然可以使用R的'list'类在R中完成此操作,但我认为它很慢,就职位发布而言,与精通R的数据工程师相比,精通R的数据工程师的需求显着减少,几乎66%的数据工程师职位发布中提到了Python,而只有18%的职位提到R,除了R和Python外,数据工程师的其他需求技能还包括SQL,Spark,Hadoop,Java,Amazon Web Services(AWS),Scala和Kafka。
免费客服热线:400-050-6600
商业联合会数据分析专业委员会