? ? 是的,Python 和 R 都是数据科学的不错选择,但它们各有利弊。 如果你是数据科学的新手,也许其中有一个更适合你,即使你已经掌握了其中一个,那么学习另一个语言可能仍然是值得的。
? ? 使用 Python 和 R,你都可以完成你能想象到的大部分数据科学任务,所以它们本身的能力是没有争议的,但其他细节的因素才是你选择的关键。
? ? 这些因素有可能是,一种工具对于某些特定任务可能更方便,或者对于某些用户来说更容易学习,又或者是可能会带来不同的工作机会,这样的例子不胜枚举。
? ? 学习新事物费时费力,因此请确保你自己做出了正确的选择。 在学习用于数据科学的 Python 和/或 R 之前,您需要了解以下内容。
你的背景:
? ? 如果你是数据科学新手,在 Python 和 R 之间进行选择的一个简单方法是考虑你的背景。 如果你有多年编码经验,学习一门新的编程语言(如 Python 或 R)并不困难,但如果您过去几乎没有使用过 Excel 或 IBM的SPSS 等数据处理工具,那么我们就需要好好考虑下。
? ? 我们先看看谁在使用 Python 和 R,以及他们用它们做什么。
? ? R语言是由统计学家创建的一种编程语言,主要用于统计计算。不过R 不仅被统计学家使用,还被数据挖掘开发者、生物信息学家和其他使用它们进行数据分析和开发统计软件的专业人员使用。
? ? 另一方面,Python 是一种通用语言,不仅用于数据科学,还用于构建 GUI、开发游戏、网站等。软件工程师、Web 开发人员、数据分析师和业务分析师等专业人士使用 Python 可以完成各种各样的任务。
? ? 总而言之,如果你的背景来自 Excel、SAS 或 SPSS,R 可能更容易上手,但如果您已经使用其他编程语言编写代码一段时间并且已经形成了编程思维,Python 会更容易上手和更容易使用。
哪个语言在数据科学领域更流行? 雇主在招聘 Python 和 R 专家中主要是看重什么?
? ? 始终牢记,工具的流行度是学习它的一个重要因素。 相信我,千万别学习在现实世界中根本用不到的东西。
? ? 快速比较 Google Trends 上的关键字“python data science”(蓝色)和“r data science”(红色)可以看出过去 5 年全球对这两种编程语言的兴趣。
? ? 毫无疑问,在数据科学领域,Python 比 R 更受欢迎。
? ? 另一方面,当涉及到数据科学求职时,雇主在 Python 和 R 专家中期待的是不一样的专业方向。 对两种招聘发布关键词进行比较,“数据科学”和 “R”以及“数据科学“和 ”Python“的差异,可以看到招聘要求里显示的最常见的数据科学工具和技术。
? ? 在词云中,我们可以看到包含“数据科学”和 “R” 的职位发布通常包括“研究”、“SQL”和“统计”等内容,而包含“数据科学”和 “Python” 的职位发布包括“机器学习”,“SQL”,“研究”以及 AWS和Spark等工具。
哪一个提供更好的数据科学工具?
? ? 数据科学的工作流程涉及数据收集、挖掘和可视化等内容。 尽管 Python 和 R 都能完成这项工作,但它们所提供的工具和工具包各有利弊。
数据收集:R 和 Python 都支持多种格式,例如 CSV 和 JSON,除此之外,R 还允许将 Minitab 或 SPSS 中构建的文件转换为数据集。 此外,两者都允许您从网站爬取数据以构建您自己的数据集,但 Python 具有更成熟的工具,如 Selenium 和完整的框架,如 Scrapy。
数据挖掘:这是数据科学家花费大量时间的一个步骤,因此需要详细看看 R 和 Python 中使用的工具包。 在 Python 中,我们主要使用 Pandas 和 Numpy 来挖掘数据集,而 R 有不同的包来构建数据挖掘,可以参考如下链接:https://www.r-bloggers.com/2018/11/explore-your-dataset-in-r/
数据可视化:在 Python 中,你可以使用 Pandas 库来制作基本图形,但如果你想创建可自定义的高级可视化,应该都需要学习 Matplotlib 和 Seaborn 等库。 问题是它们可能不那么容易学,语法挺难记的,并且使用 Python 创建的可视化效果并不是最美观的。 相比之下,数据可视化是R语言擅长的。 R 内置了对许多标准图形的支持,并提供了 ggplot2 等高级工具,可大大提高图形的品质和美感。
那么你应该学习 R还是Python 还是两者都学?
? ? 以下是我看到的一些人的偏向和他们的总结,以供参考。
? ? 有些人选择 R 而不是 Python 是因为它强大的面向统计的特性和出色的可视化功能,而另一些人更喜欢 Python 而 是因为它的多功能及灵活性不仅使他们能够执行强大的数据科学任务,而且还在快速迭代。
? ? 如果你已经掌握其中一个语言了,那么学习另一个无论如何都是有意义的,因为至少你的工作机会会多一些。