r与python交互_原创翻译 | 从R转战Python:这些包你一定要知道

一个我最喜欢的python的特点是,对于机器学习来说,Python拥有类似R社区的所有优点,并且仿效了它最有价值的地方。我十分信仰这样一种观点,就是一种语言只会因为它拥有的库而变得更加有效。因此在这篇文章中,我将会讨论我工作中使用R时几乎每次都会用到的一些关键包,同时还有python中与这些关键包相对应的模块。

R包glm,knn,randomForest,e1071 —> Python模块scikit-learn

值得赞美但也总让人忍不住诅咒的是,R中机器学习算法被进行分割,然后以各种包的形式存放,这意味着除非具有单个(或一组)能够执行一些公共算法的机器学习库,否则每个算法都会存在单独的包中。看着这些复杂、但又很清楚的算法时感觉会有点不错,但当日复一日的在算法之间来回切换时,恐怕就会觉得不适了,Python中的scikit-learn模块很好的处理了这个问题。具体的说,scikit-learn提供了一组常见的ML算法,所有算法都在同一个API下,这使得LogisticRegression和GradientBoostingMachines之间可以直接切换。

R包reshape/reshape2,plyr/dplyr —> Python模块 pandas

这其实是我们文章的第一个主题。Pandas继承了R中数据变换的较好部分,并且把它转变成一个Python包。该包包括了python中数据框的实现以及修改和重构数据框的方法。基本上它继承了reshape/reshape2和plyr/dplyr并且python化它。

R包ggplot2—> Python模块 ggplot seaborn bokeh

R目前仍然比Python做的好的一个部分就是画图。毫无疑问,R在细节上做的更好。即便如此,Python画图在非连续图像绘制方面已经成熟。如果你喜欢ggplot风格的语法,那就不用再看Yhat自己的ggplot了;如果你是在深入统计分析后画图,那么使用seaborn;如果你是要使用一些光滑、有良好视觉效果的图形,那么使用bokeh。

stringr -> nothing

"Base R"的字符串操作能力实在是没什么创意,甚至可以说是蠢。每次我需要用R处理字符串的时候我都会按顺序做以下两件事:

向诞生了Hadley Wickham的新西兰致以简短的敬意

import stringr

不胜感激,新西兰

stringr 实在是个神器。它写得很棒,性能也很好(至少我这么认为),而且很方便安装(不要小看这一点,如果人们无法安装你的软件,那么开发就没有意义)。

好吧关于stringr 的自卖自夸就结束了。好消息是Python的字符串功能很强大,你甚至不需要一个单独的字符串库!它有超棒的内置正则表达式库,re,和内置的字母串元库,叫string。你太幸运了,Python自带了全部字符串相关的功能!

R包Rstudio —> Python模块 Rodeo

对于许多用户来说,Rstudio是R的同义词。为什么不是呢?对于R中数据分析来说,它是一款极好的集成开发环境(IDE)。从历史角度来讲,对于python中,还没有太多可供选择的IDE。当然这种情况已经不复存在了。一年前,我们发布了第一版本的Rodeo,大约一个月前发布了适用于Windows、OSX和Linux的2.0版本。

下载Rodeo!

R包Knitr —> Python模块 Jupyter

Knitr是一种使用R创建可重现和高度可视化分析的好方法。它已经成为Rtudio中一种稳定的功能。在Python世界中,最类似的包是Jupyter。Jupyter笔记本提供了一个用于Python编程(和其他语言)的交互式环境,专注于再现和可视化—它甚至有针对于R的插件。

R包SQLdf—> Python模块 pandasql

Sqldf是SQL用户在熟练操作数据的伟大的方式。当我第一次开始学R时,我自己用的就是这个包。当时,Yhat实际上创建了类似的Python包,称为pandasql。相同的概念:对你的数据框写入SQL查询命令,获取数据框!快进三年,pandasql已经在GitHub有超过256个星。对于仅有358行的代码的库来说很不错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值