「简简科技」数据科学中选择Python还是R语言?( 二 )
从同一项调查的全球薪资来看 , Python和R似乎在55,039名参与者中处于同一点 , R的平均水平略高 。
文章图片
除了调查结果之外 , 通过查看堆栈溢出趋势可以看出 , 就问题数量而言 , Python比R更受欢迎 。
文章图片
通过查看这些数据 , 在整个开发人员社区中 , Python似乎比R更受欢迎 。 但是 , 请务必牢记 , Python是通用编程语言 , 而R专门用于统计计算 , 这意味着就数据科学家之间的流行而言 , 这种比较并不是一字不漏 。
为了更好地理解数据科学 , 我们可以看一下 。 实际上 , 他们在仪表板上有一个针对的特定页面 。
文章图片
根据2019年Kaggle用户调查的编程语言分布
从Kaggle数据中可以看出 , Python在数据科学界比R具有更大的用途 , 尽管两种语言在用法方面都占有重要地位 。
库
在数据科学方面 , 第三方库的可用性对于帮助您轻松入门非常重要 。 两种语言周围都有非常活跃的社区 , 还有丰富的软件包生态系统 , 值得一看 。
Python
NumPy:是一个基本程序包 , 它在数组数据结构的顶部实现各种数据操作操作 。 它包含这些数据结构的高效实现以及许多统计计算任务的通用功能 , 并且由于其高效的基础 , 它可以加快许多复杂的任务 。 Pandas:是一个功能强大且易于使用的开源库 , 用于表格数据处理任务 。 它包含高效的数据结构 , 非常适合直观地处理带标签的数据 。 Matplotlib:是一个用于创建静态或交互式数据可视化的库 。 由于其简单性 , 您可以使用几行Python代码创建高度详细的图形 。 Scikit-learn:作为Python生态系统中最受欢迎的库之一 , 包含基于Numpy , Pandas和Scipy构建的工具 , 这些工具专注于各种机器学习任务 , 例如分类 , 回归和聚类 。 Tensorflow:最初开发和开源由谷歌 , 是开发和培训非常流行的开放源码库机器学习和深刻的学习模式 。R
Dplyr:是一个用于轻松处理内存中和内存不足的表格数据的库 。 Ggplot2:是一个库 , 专注于根据》一书以声明方式构建数据可视化 。 data.table:与dplyr相似 , 是一个设计用于使用表达语法进行数据操作的包 。 它实现了有效的数据过滤 , 选择和整形选项 , 使您可以在输入模型之前以所需的形状获取数据 。 Tidyverse:是为数据科学设计的R软件包的集合 。 它包含了许多流行的库 , 仅举几例:数据可视化 , 直观的数据操作和从各种来源读矩形数据 。 Shiny:是一个软件包 , 可让您从R构建高度交互的网页 , 并使构建仪表板变得轻而易举 。 插入符号:是专用于预测模型和机器学习以及数据处理和预处理的工具和功能的集合 。从库的数量和这些软件包的功能来看 , 这两种语言似乎都具有简化了许多数据科学任务的相似软件包 。 总而言之 , 对于许多任务来说 , 当一个任务在Python中可行时 , 它在R中也是可行的 , 并且工作量非常相似 。
结论
尽管它们似乎提供了不同的东西 , 但两种语言都有其优缺点 , 需要仔细了解其需求 。
如果你正在寻求一般的编程知识 , 并且正在开发可在其他软件开发领域(例如Web开发)中使用的程序 , 那么Python似乎是一个更好的选择 。 如果你熟悉其他科学的编程语言像MATLAB , 你学习R可能更容易 , 并得到高效地使用它 。 这些语言之间有很多相似之处 , 尤其是矢量运算和关于矩阵运算而非过程方法的一般思维方式 。 如果你需要进行临时分析并偶尔与其他数据科学家/技术人员共享它们 , 那么将Python与一起使用可能会很好 。 如果你正在寻找为非技术利益相关者和内部使用情况构建快速仪表板的方法 , 则最好将R与令人惊叹的库一起使用 。 如果您需要开发API来公开您的模型 , 或者需要其他软件来与模型进行交互 , 那么由于Python具有围绕各种编程任务的强大工具 , 可能对你投资进入Python有所帮助 。 你可以使用带有或的非常简单的API来公开模型 , 也可以使用构建成熟的可用于生产环境的Web应用程序 。 如果你希望随身携带所有软件包 , 并且主要专注于决策分析并寻找最简单的设置 , R可能是您的首选工具 。 由于RStudio及其集成的特点 , 从原始数据去分析与可视化不离开你的窗口 , 是很容易的 。 尽管Python也很容易上手 , 并且默认情况下已将其安装在许多系统中 , 但多年来 , 它已经演变成不同的版本和不同的设置 , 因此 , 在你计算机上的数据科学堆栈设置功能良好的应用程序并非易事 。就像其他任何问题一样 , 解决方案主要取决于问题的要求 , 除了''取决于''之外 , 对这个问题没有正确的答案 。 这两种语言都非常强大 , 无论您花时间在哪一种语言上 , 如果您长期寻找数据科学的职业 , 都不会有错误的答案 。 学习这两种语言中的任何一种都会在将来以一种或另一种方式付给您 , 因此 , 不要陷入 , 只需选择一种并继续工作即可 。 众所周知 , 这两种语言都能够处理大多数数据科学问题 , 其余部分归结为方法 , 团队能力和手头资源 , 它们大多与语言无关 。
- 小米科技▲卢伟冰再次发力,全球首发骁龙768G,5G新机将在两天后发布!
- 快科技最贵或达5000元,苹果头戴耳机更多细节曝光:包含两款
- 科技迷7nm版年底流片,要放弃美国代工?国产x86转向三星台积电代工
- 骊微电子科技PD充电器应用方案,PN8161+PN8307H高集成18W
- 快科技小米高管都是外人?雷军透露了一个秘密
- 『Java』java数据结构系列——什么是数据结构
- 靓科技解读Thing,a16z、5.15亿美金的数据加密股票基金:找寻下一个Big
- 王伯伯说科技流畅用三年,即将开学的学生党准备好了吗?三款高配低价千元机
- 知叔达科技中芯国际早已料到,成功绕开了光刻机,怒了!荷兰ASML再次失约
- 大数据邦选址很关键,新基建之大数据中心规划设计原则和内容