云时代,编程语言选R还是Python?

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"italic"},{"type":"size","attrs":{"size":10}},{"type":"strong"}],"text":"本文最初发布于analyticsvidhya.com网站,经原作者授权由InfoQ中文站翻译并分享。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人类都需要氧气才能生存。但请想一想,我们有几个人为了保护这种生命之源而采取措施来守护自然呢?如今,大自然用一种看不见的病毒Covid-19让全世界都意识到了氧气的重要性,因为这种病毒大幅增加了全球医疗领域对氧气的需求。因此,保护​​自然的行为(例如种植树苗等)是我们的宝贵责任,这不仅是为了社会,也是为了我们自己。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/7b\/94\/7b690a9c045cbfb0bbce15120bacf894.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"就像拯救生命的氧气一样,在技术领域中拯救行业的资产是数据。全球范围内生成的数据量每天都高速增长。科技行业对从数据中获取和挖掘有价值的,有助于业务增长的见解表现出了极大的兴趣。众所周知,数据集中的数据量往往很大。因此,我们不可能像以前那么快地手动处理如此大量的数据,迅速从中获取有价值的见解。因此,行业专家需要新的技术工具来处理这些数据。在数百种技术工具中,R和Python这两项技术一直在云世界中针锋相对。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在本文中,我们将从数据科学的角度讨论这两种编程语言在处理数据方面的利弊。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"R vs Python:为什么会引起争议?"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/ac\/1d\/ac8b6717998786c3e94df4ea38d31c1d.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"总体而言,从初学者到专业级别,Python和R都是数据科学学习者最喜欢的编程语言。两种编程语言有诸多相似之处,都有着很好的表现。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"两者都是在1990年代初期创建的"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"由于它们是开源编程语言,因此任何人都可以轻松免费下载和访问它们"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它们具有大量的库和专用算法函数,可以处理和解决数据科学和数据分析问题"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"与SAS、SPSS、MATLAB等其他数据分析工具一样,它们在成本和解决复杂问题方面都不会给用户施加限制"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"两者都提供了对用户友好的工作体验,即使非程序员也很容易理解和掌握"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在处理数据科学、机器学习、深度学习、人工智能等领域的问题时,两种工具都时常引入很多新的发明和改进"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"也就是说,看起来这两种工具不分伯仲,这就是R与Python引起争议的原因所在。我们再来简单了解一番,更好地理解这一点。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Python和R简介"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"Python"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Python于1991年首次发布,最初由Guido van Rossum设计。由于它是一种面向对象的编程语言,因此也称为通用编程语言。它秉承一种强调代码可读性和效率的理念。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/30\/c1\/30cf69ed72f1a91a6a712c958055eac1.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果程序员和技术领域的人们希望将数学和统计知识很好地应用在数据科学领域,那么python会是他们的最佳合作伙伴。因此,对于大多数数据科学学习者而言,这是最可取和最受欢迎的编程语言选项。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它有很多专用于机器学习和深度学习的库,这些库都包含在它的库包索引PyPI中。这些库的文档也可以在其官方站点上以Python文档格式获取。"}]},{"type":"heading","attrs":{"align":null,"level":3},"content":[{"type":"text","text":"R"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Ross Ihaka和Robert Gentleman是R的最初创建者。R最初于1993年发布,是S编程语言的一种实现。这种编程语言设计宗旨是在数据分析、统计方法和可视化领域输出有效的结果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/d5\/f3\/d5f5a7ea4bc30ee4a4bf2ff741ed21f3.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"对于数据分析技术来说,R有着非常富饶的生态。与python类似,它在Composite R Archive Network(CRAN)中有大约13000个专门用于深度分析的库包。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"它在学者和研究人员中最受欢迎。使用R语言中开发的大多数知名项目数都是研究类型的。人们通常使用R自己的,称为R Studio的集成开发环境(IDE)中使用R,以获得更好的用户友好体验。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"哪款工具更好呢?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"人们选择某种编程语言的原因对于Python和R来说也都是适用的。因此在这两者之间做出选择时需要更为谨慎。在R和Python中挑选适合自己的选项时,请考虑你所在领域的性质和自己偏好的风格。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/75\/d1\/758662411e720129d23d161f8yye9fd1.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果你的工作性质涉及更多的一般用途代码且研究范围较小,则应该首选Python;如果你的工作目的涉及研究和概念过程,则应选择R。Python是适合程序员的语言,而R是适合学者和研究人员的语言。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"一切都取决于你的兴趣和背后的热情。一方面来说,python代码易于理解,并且通常能够执行更多的数据科学任务;另一方面,R代码使用基本的学术语言,易于学习,并且是可视化数据分析工具的最佳选项。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"关键区别"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/76\/05\/7635b1f8ec58ecde197f222385787c05.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/df\/2b\/df071fc1330e6afaf309edd4d2777b2b.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/ee\/44\/ee5ed94cf16c9315c3020fdaa360c844.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"该用哪个?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"具体用哪个取决于用户的需求。就python而言,它是满足机器学习、深度学习、数据科学和部署需求的最佳工具。它也有用于数学、统计、时间序列等用途的库,但是在商业分析、经济指标、研究类需求方面往往表现不佳。它是生产就绪的语言,因为它可以把我们所有的工作流集成为一个单独的工具。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/06\/29\/06b48947e677e6058015c11e3f26ec29.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"至于R,它是满足统计分析和研究需求的最佳工具,具有更高的准确度。这种编程语言中的大多数软件包都是由学者和研究人员创建的,这是额外的优势。因此,它更适合满足统计学家的需求,而非来自计算机背景的用户的需求。不过它也拥有用于数据科学和机器学习的一些很出色的库。毫无疑问,它在探索性数据分析和可视化方面比python高出一等。"}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"结论"}]},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/resource\/image\/4a\/44\/4a7f378d738619c3b354963587caf044.jpg","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"总体而言,两种编程语言都有类似的优缺点。综合看来,在Python和R之间做出选择主要基于以下几点:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你的工作主题是什么?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你同事的编程知识如何?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"你的工期有多长?"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"最后是你对哪个领域感兴趣?"}]}]}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"作者的话:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Shankar DK(数据科学专业学生):"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"尊敬的读者,从本文中,我希望你至少应该了解一些如何根据需要在Python和R之间做出选择的知识。有关进一步的说明和建议,请在LinkedIn("},{"type":"link","attrs":{"href":"https:\/\/www.linkedin.com\/in\/shankar-d-k-03470b1a2%E4%B8%8A%E8%BF%9B%E8%A1%8C%E8%BF%9E%E6%8E%A5?fileGuid=QtpryrtrxQRw3PPq","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.linkedin.com\/in\/shankar-d-k-03470b1a2"}]},{"type":"text","text":")上联系我。我请你分享对本文的宝贵意见,这会对我今后的工作有所助益。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"strong"}],"text":"原文链接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/www.analyticsvidhya.com\/blog\/2021\/05\/r-or-python-reasons-behind-this-cloud-war\/?fileGuid=QtpryrtrxQRw3PPq","title":"","type":null},"content":[{"type":"text","text":"https:\/\/www.analyticsvidhya.com\/blog\/2021\/05\/r-or-python-reasons-behind-this-cloud-war\/"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章