R vs. Python 数据分析中谁与争锋?


Posted in Python onOctober 18, 2017

当我们想要选择一种编程语言进行数据分析时,相信大多数人都会想到R和Python——但是从这两个非常强大、灵活的数据分析语言中二选一是非常困难的。

我承认我还没能从这两个数据科学家喜爱的语言中选出更好的那一个。因此,为了使事情变得有趣,本文将介绍一些关于这两种语言的详细信息,并将决策权留给读者。值得一提的是,有多种途径可以了解这两种语言各自的优缺点。然而在我看来,这两种语言之间其实有很强的关联。

Stack Overflow趋势对比

R vs. Python 数据分析中谁与争锋?

上图显示了自从2008年(Stack Overflow 成立)以来,这两种语言随着时间的推移而发生的变化。

R和Python在数据科学领域展开激烈竞争,我们来看看他们各自的平台份额,并将2016与2017年进行比较:

R vs. Python 数据分析中谁与争锋?

接下来我们将从适用场景、数据处理能力、任务、安装难度以及开放工具等方面详细了解这两种语言。

适用场景

R适用于数据分析任务需要独立计算或单个服务器的应用场景。Python作为一种粘合剂语言,在数据分析任务中需要与Web应用程序集成或者当一条统计代码需要插入到生产数据库中时,使用Python更好。

任务

在进行探索性统计分析时,R胜出。它非常适合初学者,统计模型仅需几行代码即可实现。Python作为一个完整而强大的编程语言,是部署用于生产使用的算法的有力工具。

数据处理能力

有了大量针对专业程序员以及非专业程序员的软件包和库的支持,不管是执行统计测试还是创建机器学习模型,R语言都得心应手。

Python最初在数据分析方面不是特别擅长,但随着NumPy、Pandas以及其他扩展库的推出,它已经逐渐在数据分析领域获得了广泛的应用。

开发环境

对于R语言,需要使用R Studio。对于Python,有很多Python IDE可供选择,其中Spyder和IPython Notebook是最受欢迎的。

热门软件包和库

下面罗列了R和Python推出的针对专业以及非专业程序员的最热门的软件包和库。

R:针对专业程序员的热门软件包

用于数据操作的 dplyr、plyr和 data table
用于字符串操作的 stringr
定期和不定期时间序列 zoo
数据可视化工具 ggvis、lattice 和 ggplot2
用于机器学习的 caret

R:针对非专业程序员的热门软件包

Rattle
R Commander
Deducer

这些完整的GUI包可以实现强大的数据统计和建模功能。

Python:针对专业程序员的热门库

用于数据分析的 pandas
用于科学计算的 SciPy NumPy
用于机器学习的 scikit-learn
图表库 matplotlib
statsmodels
用来探索数据,估算统计模型,并执行统计测试和单元测试

Python:针对非专业程序员的热门库

Orange Canvas 3.0是遵循GPL协议的开源软件包。它使用一些常用的Python开源库进行科学计算,包括numpy、scipy和scikit-learn。

R 和 Python 详细对比

R vs. Python 数据分析中谁与争锋?

正如本文开头提到的,R和Python之间有很强的关联,并且这两种语言日益普及。很难说哪一种更好,它们两者的整合在数据科学界激起了许多积极和协作的波澜。

总结

事实上,日常用户和数据科学家可以同时利用这两者语言,因为R用户可以在R中通过 rPython包来运行R中的Python代码,而Python用户可以通过RPy2库在Python环境中运行R代码。

原文:R vs. Python
作者:Sunil Kappal
译者:安翔

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python3通过Luhn算法快速验证信用卡卡号的方法
May 14 Python
Python3读取文件常用方法实例分析
May 22 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
python编写弹球游戏的实现代码
Mar 12 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
python数据批量写入ScrolledText的优化方法
Oct 11 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
对Python3+gdal 读取tiff格式数据的实例讲解
Dec 04 Python
linux中如何使用python3获取ip地址
Jul 15 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
python基于opencv实现人脸识别
Jan 04 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 #Python
python 中的divmod数字处理函数浅析
Oct 17 #Python
Python中的id()函数指的什么
Oct 17 #Python
Python中int()函数的用法浅析
Oct 17 #Python
一文总结学习Python的14张思维导图
Oct 17 #Python
python 中的int()函数怎么用
Oct 17 #Python
python遍历序列enumerate函数浅析
Oct 17 #Python
You might like
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
jquery浏览器滚动加载技术实现方案
2014/06/03 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
2016/11/08 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
Vue2.0用户权限控制解决方案的示例
2018/02/10 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
微信小程序自定义弹窗实现详解(可通用)
2019/07/04 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
零基础写python爬虫之爬虫框架Scrapy安装配置
2014/11/06 Python
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
深入浅析python3中的unicode和bytes问题
2019/07/03 Python
详解Django 时间与时区设置问题
2019/07/23 Python
python 二维矩阵转三维矩阵示例
2019/11/30 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
2020/06/04 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
一套Delphi的笔试题一
2016/02/14 面试题
法定授权委托证明书
2014/09/27 职场文书
大班上学期个人总结
2015/02/13 职场文书
家长高考寄语
2015/02/27 职场文书
中学教师师德师风承诺书
2015/04/28 职场文书
教师节班会开场白
2015/06/01 职场文书
辅导员学期工作总结
2015/08/14 职场文书
SpringBoot Http远程调用的方法
2022/08/14 Java/Android