一篇文章告诉你,该学R还是Python

2023-10-10 03:32

本文主要是介绍一篇文章告诉你,该学R还是Python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

From: http://www.open-open.com/news/view/11977ff

一篇文章告诉你,该学R还是Python

文/数据客(微信公众号:idacker)

对于想从事数据行业的人和数据工作者来说,是学习R还是 python,哪个工具更实用一直被大家争论。Martijn Theuwissen,DataCamp 的教育专家详细比较了这两个工具。

ython 和R是统计学中两种最流行的的编程语言,R的功能性主要是统计学家在开发时考虑的(R具有强大的可视化功能),而 Python 因为易于理解的语法被大家所接受。

在这篇文章中,我们将重点介绍R和 Python 以及它们在数据科学和统计上地位之间的差异。

关于R的介绍

Ross Ihaka 和 Robert Gentleman 于 1995 年在S语言中创造了开源语言R,目的是专注于提供更好和更人性化的方式做数据分析、统计和图形模型的语言。

起初R主要是在学术和研究使用,但近来企业界发现R也很不错。这使得中的R成为企业中使用的全球发展最快的统计语言之一。

R 的主要优势是它有一个庞大的社区,通过邮件列表,用户贡献的文档和一个非常活跃的堆栈溢出组提供支持。还有 CRAN 镜像,一个用户可以很简单地创造的一个包含R包的知识库。这些包有R里面的函数和数据,各地的镜像都是R网站的备份文件,完全一样,用户可以可以选择离你 最近的镜像访问最新的技术和功能,而无需从头开发。

如果你是一个有经验的程序员,你可以不会觉得使用R可以提高效率,但是,你可能会发现学习R经常会遇到瓶颈。幸运的是现在的资源很多。

关于 Python 的介绍

Python 是由 Guido van Rossem 创建于 1991 年,并强调效率和代码的可读性。希望深入的数据分析或应用统计技术的程序员是 Python 的主要用户。

当你越需要在工程环境中工作,你会越喜欢 Python。它是一种灵活的语言,在处理一些新东西上表现很好,并且注重可读性和简单性,它的学习曲线是比较低的。

和R类似,Python 也有包,pypi 是一个 Python 包的仓库,里面有很多别人写好的 Python 库。

Python 也是一个大社区,但它是一个有点比较分散,因为它是一个通用的语言。然而,Python 自称他们在数据科学中更占优势地位:预期的增长,更新颖的科学数据应用的起源在这里。

R和 Python:数字的比较

在网上可以经常看到比较R和 Python 人气的数字,虽然这些数字往往就这两种语言是如何在计算机科学的整体生态系统不断发展,但是很难并列进行比较。主要的原因是,R仅在数据科学的环境中使 用,而 Python 作为一种通用语言,被广泛应用于许多领域,如网络的发展。这往往导致排名结果偏向于 Python,而且从业者工资会较低。

R如何使用?

R 主要用于当数据分析任务需要独立的计算或分析单个服务器。这是探索性的工作,因为R有很多包和随时可用的测试,可以提供提供必要的工具,快速启动和运行的数量庞大几乎任何类型的数据分析。R甚至可以是一个大数据解决方案的一部分。

当开始使用R的时候,最好首先安装 RStudio IDE。之后建议你看看下面的流行包:

Python 如何使用?

如果你的数据分析任务需要使用 Web 应用程序,或代码的统计数据需要被纳入生产数据库进行集成时你可以使用 python,作为一个完全成熟的编程语言,它是实现算法一个伟大的工具。

虽然在过去 python 包对于数据分析还处于早期阶段,但是这些年已经有了显著改善。使用时需要安装 NumPy/ SciPy 的(科学计算)和 pandas(数据处理),以使 Python 可用于数据分析。也看看 matplotlib,使图形和 scikit-learn 机器学习。

不同于R,Python 有没有明确的非常好的 IDE。我们建议你看看 Spyder 以及 IPython 网站,看看哪一个最适合你。

R和 Python:数据科学行业的表现

如果你看一下最近的民意调查,在数据分析的编程语言方面,R是明显的赢家

有越来越多的人从研发转向 Python。此外,有越来越多的公司使用这两种语言来进行组合。

如果你打算从事数据行业,你用好学会这两种语言。招聘趋势显示这两个技能的需求日益增加,而工资远高于平均水平。

R:优点和缺点

优点

可视化能力强

可视化通常让我们更有效地理解数字本身。R和可视化是绝配。一些必看的可视化软件包是 ggplot2,ggvis,googleVis 和 rCharts。

完善的生态系统

R 具有活跃的社区和一个丰富的生态系统。R包在 CRAN,Bioconductor 的和 Github 上。您可以通过 Rdocumentation 搜索所有的R包。

用于数据科学

R 由统计学家开发,他们可以通过R代码和包交流想法和概念,你不一定需要有计算机背景。此外企业界也越来越接受R。

缺点

R比较缓慢

R 使统计人员的更轻松,但你电脑的运行速度可能很慢。虽然R的体验是缓慢的,但是有多个包来提高的r性能:pqR,renjin,FastR, Riposte 等等。

R不容易深入学习

R 学习起来并不容易,特别是如果你要从 GUI 来进行统计分析。如果你不熟悉它,即使发现包可能会非常耗时。

Python:优点和缺点

优点

IPython Notebook

IPython Notebook 使我们更容易使用 Python 进行数据工作,你可以轻松地与同事共享 Notebook,而无需他们安装任何东西。这大大减少了组织代码,输出和注释文件的开销。可以花更多的时间做实际的工作。

通用语言

Python 是一种通用的语言,容易和直观。在学习上会比较容易,它可以加快你写一个程序的速度。此外,Python 测试框架是一个内置的,这样可以保证你的代码是可重复使用和可靠的。

一个多用途的语言

Python 把不同背景的人集合在一起。作为一种常见的、容易理解,大部分程序员都懂的,可以很容易地和统计学家沟通,你可以使用一个简单的工具就把你每一个工作伙伴都整合起来。

缺点

可视化

可视化是选择数据分析软件的一个重要的标准。虽然 Python 有一些不错的可视化库,如 Seaborn,Bokeh 和 Pygal。但相比于R,呈现的结果并不总是那么顺眼。

Python 是挑战者

Python 对于R来说是一个挑战者,它不提供必不可少的R包。虽然它在追赶,但是还不够。

最终你该学习什么呢:

由你决定!作为一个数据工作者,你需要在工作中选择最适合需要的语言。在学习之前问清楚这些问题可以帮助你:

  • 你想解决什么问题?
  • 什么是学习语言的净成本?
  • 是什么在你的领域中常用的工具?
  • 什么是其他可用工具以及如何做这些涉及到的常用工具?
来自: 数据客
 

这篇关于一篇文章告诉你,该学R还是Python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/177640

相关文章

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Python包管理工具pip的升级指南

《Python包管理工具pip的升级指南》本文全面探讨Python包管理工具pip的升级策略,从基础升级方法到高级技巧,涵盖不同操作系统环境下的最佳实践,我们将深入分析pip的工作原理,介绍多种升级方... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核