在数据科学领域,为什么 Python 比 R 更好?
经常有读者问我们,在数据科学领域里,到底是该选 Python 呢,还是选 R 更好?诚然,对于数据科学家来说,R 和 Python 都很重要。但是对于一个新人数据科学家来说,又该如何取舍呢?同时学习 Python 和 R 也有些不切实际。作者 Tom Watermac X m dn 作为过来人,他是先学了 R,后来才学的 Python,他给我们列出了为什么 Python% Q M e : 4 比 R 更适合数据科B { b学领域的四大理由。InfoQ 中文站翻译并分享给大家。
我认为,在数据科学领域,Python 比 R 更合适的理由主要有四个。P 1 R - b @ k 3 k
新人数据科学家都面临着一个问题,而这个问题非常重要@ e 4 H 3 (:我是应该学习 Python 呢,还是学习 R?
问得好!这个问题真的非常重要。因为,“男怕入错行,女怕嫁错郎”,要知道,学习第一门编程语言是需要耗费数百个小时的。试g O ~ - N图都学这两门编程语言是不切实际的,特别是当你刚刚开始职业生涯的时候。
那么,你应该做出怎样的选择呢?
根据我的经验,G p W 7如果你选择了 Python,我相信,你的4 j t - , j o P f职业生涯将会因此受益良多。
在我看来,对数据科N D % ( c学这一职业来说,Python 是更好的选择,r / #尤其是如果你刚刚起步的话。
我将给出四个理由,来说明为什么t ) P C我认为 Python 对你职业来说是d h J % ~ R ] #更好的选n Z M X t H择,W 7 / B b l R & F但我也要澄清s + U ^ O ` b一点:我并不认为 R 是一个糟糕的选择。
选择 R 并不会对你的工作机会产生什么负面影响,而是要取决于你的团队! ; = a { c h ` x ?之外的重要领域为你的团队做出贡献。
因此,学习 Python 将会使你能够为公司带来更大的影响力,而你的职业生涯也将因此硕果累累。
理由一:无论如何/ E _ D S,你可能得学习 Python
大多数公司要求他们的数据科学家所做的并不仅仅是预测建模(即机器学习)。至少,你可能需要维护为模型提供数据的数据管道,而这些数据管道很可能就是用 P 0 7 0 8 ( 6 3ython 构建的。
目前,y # y ? b r 6管道的行业标准是基于 Python 的 Airflow,而在 Facebook 上,我们使用的内部 Python 工具基本上也是相同的。
事实上,据我估计,在 Facebook,我们的数据科学家 100% 都会在每周使用 Python,而积极使用 R 的人可能只有 10% 左右。
因此,对你来说,如果选择 Python 的话,可能会更有效率:虽然你一A % W ^ : ^ c / Z旦找到工作就可以避开 R,但F $ P M ; S M不太_ q L可能会绕开 Python。
理由二:Python 更容易] S 6 t C 2学习
要知道,成为可雇O y ]佣的人所需的时间非常I [ 1 3 ) = ?重要,尤其是如果你是在大学以外的地方自学的话。
Python 以易学而闻名。在学过 Python 和 R 之后(虽? Z ` L d 1然我对 Python 方面更深入),我认( U # 4 :为,Python 的声誉是当之无愧的。
当~ T . t Y你开始使用统计建模之外的语言特性时,Python 易学所带来的好处尤为明显。这些特性包括将项目打包用& } - S于分发、开发命令行界面、使用像 SQLAlchemy 这样的对象关系映U * T a z % % Y射(Object-relational mapping,ORMF F , X)为数据结构建模等等。
若掌握 Python,将使你更容易精通这些特性,你的职业生涯也将因此受益。
理由三:: { Y R 4 0 X # U遇到连自己也无法解决的问题时,你更有可能找到那些在r ; I x ^你之前遇到过这个问题、寻求过帮助并2 D o得到解决方案的人。
这意味着你将花费更少的时间来调试与系统的兼容性问题,而将更多的时间用于交付可为公司带来影响的代码。
理由四:使用 Python 部署模型更容易
最后,在职业生涯中,你可能会达到这样的一个阶段:你希望能够将模型实时提供给任何一个最终用户。要解决这个问题,你需要构建一个基于 REST 的 Web 应用A r 6 t n k f `程序,使用 Python 的话,这件事就会变得很容易。
实际上,Python 拥有一些( k u 7 O [ ,功能。
作者注: 在写完本文后,Marcelo Garcia 指出可以使用免费的X M - ( m + 3 Z Spyder 包作为 RStudio 的 Python 替代方案。但作者还没有- f [ ( +机会尝试 Spyder,但是看起来很棒!
R 在学术界也非常流行,因此,R 中软件包的文档更有可能是直接引用学术研究。这些文档对于从事研究“前沿”工作的数据科学家来说非常有用。
但我并不认为 RStudio 的缺乏,就能足以否定 Pyths ) r 0 =on 的相对优势。而且,在数据科学学术界从业者也少得多,这使得 R 的研究相关优势对大多数数据科学家q * e *来说不那么重要了。
因此,尽管 R 有很多优点,l { ; 0 m u h但我相信如果你选择学习 Python,你的职业生涯将会受益匪浅。
最后,我认为值得一提的是,我并不认3 l ~ O y为学习 R 就是个糟糕的选择,只不过 Python 更可能是你职业生涯中的一个更好的选P e & J (择而已。要根据你的具体情况,学习 R 对你来说y [ K @ # ) K也有可能更有意义。
不管你选择学习哪种语言,你都不应该觉得你永远不能改变主意。要知道,所有的编程语言的v i / ` | s n相似之处可要远远多于不同F V Q m & M f K之处:学习第二门编程语言要比第一门编程语言容易得多。
实际上,我恰恰选择的就是先学习 R 的!因此,就算我现在建议将 Python 作为你职业生涯的更l F $ 2 U s好选择,但我也很难对 R 发出太过强烈的警告。
作者介绍:
Tom Waterman,Facebook 数据科学家。
原文链接:
https://towardsdatascience.com/why-python-is-better-than-r-for-data-science-careers-44ec7a149a18