本文转载自公众号“读芯术”(ID:AI_Discovery)。
自从数据科学兴起,Python成为必要的数据分析工具,大受欢迎,Python受到如此多赞誉和关注,主要是因为它的数据科学库和它的用户友好性。这并不奇怪,因为这种高级编程语言使用了类似英语的语法。
另一个让Python无处不在的重要因素在于,它是一种开源的编程语言,这意味着它不会产生任何成本。
数据科学和Python相结合是一段充满希望的冒险。开发者们可用它处理当下的业务问题,从医疗健康到工业等涉及各个领域。从数据中获得的洞见最终都要用于积极驱动市场,为企业和利益相关者创造双赢环境。
随着企业意识到数据科学的极大重要性,对数据科学家的需求便剧增了。由此,企业可应用数据驱动的方式来优化决策过程。
对于数据科学岗位的剧增,求职者的反应可谓独一无二。招聘人员发现他们收到的简历,不仅有来自与计算机科学相关背景的求职者,还有来自完全不相关领域,如人类学、社会科学和无学位的求职者。
数据科学,只有Python就够了吗?
数据科学工作岗位需求的确在迅速增长。但与此同时,在这个领域获得一份体面的工作仍然具有挑战性,对新手尤甚。这是因为,数据科学在理论与现实生活应用中存在着微妙区别,而后者与企业日常要处理的问题密切相关。
数据科学领域的学术界中,Python很受重视。教授们和讲师们教授如何利用Python的库,如NumPy, Pandas和Scikit-learn来理解数据。然而,虽然在某些情况下,单单Python就足以应用数据科学,但可惜的是,在企业界,它只是企业处理其大量数据的一小块拼图。
Python的局限性和其替代品
要追溯Python无法覆盖从数据提取到模型评估的所有数据科学阶段背后的原因,最重要的是要知道企业的数据首先储存在哪里。大多数公司的数据储存在服务器的数据库上。这些数据库需要被并发管理以保证效率和数据的可用性。
不幸的是,这项任务超出了Python的能力范围,于是这里就需要SQL(结构化查询语言)来发挥作用。这就是为什么,可以理解,几乎所有数据科学相关的工作岗位都会出现SQL。比如,数据分析师、业务分析师和数据科学家等。
此外,在着手处理数据科学中的机器学习和深度学习等具体细节之前,招聘经理会测试应聘者的SQL能力。问题在于,没有了SQL,甚至无法获得所需要的数据去处理。因此,从招聘者角度来看,SQL的使用经验比Python的更重要。
SQL VS Python
在专业人员中,SQL甚至比Python更受欢迎。2020年StackOverflow对47184位专业开发者进行了关于最重要编码语言的最新调查,其结论如下:
网络开发语言占据榜首,如Javascript和HTML/CSS,分别占比69.7%和62.4%。SQL以56.9%的占比紧随其后。Python以41.6%的占比排名第四,比SQL约低15%。
SQL vs Python: MOOCs
对网上教授SQL的课程进行调查,得到了以下评论:首先,相比于Python,教授SQL的线上课程数量更少。举例来说,在Edx搜索栏输入“SQL”一词,显示课程量31,而输入Python,这一数字是94。
其次,SQL的课程层次有缺口。简单来说,要么是课程过于入门,要么是课程过于高级。前者是在SQL的表面上做文章,比如(SELECT、INSERT和UPDATE查询)。而后者可能会显得晦涩难懂,让人无从下手。
虽然SQL在专业开发者群体中备受认可,但奇怪的是,它在大多数线上学习平台都被低估了。这对自学的人产生了负面影响,阻碍了他们向数据科学家前进的脚步。
SQL在产业中的应用
“竞争条件”是关系型数据库管理系统(RDBMS)中经常出现的问题。它发生在对一个数据库同时进行数百万或数亿次操作的情况下。举个例子,当社交媒体上的一个帖子被病毒式传播,数百万人同时与之互动,导致数据库上的操作交织在一起,这将导致约束违反和更多不必要的结果。
细节就不多说了,在众多解决方案中,有一种可能的方案来处理这些情况,那就是使用“锁”。当然,每种解决方案都有其用例和局限性。知道使用哪种方案及何时使用是一种技能,只有经过专业的经验才可磨练出来。
启发
图源:Google
Python仍然是一门值得学习有趣的编程语言,特别是对于有抱负的数据科学家来说。它在数据科学中的重要性不容忽视或低估,但SQL仍然是领先的黑马,在职位竞争激烈的时候,它让你比其他候选人更有优势。
学习SQL不是走马观花。查询语言不仅需要行业设置(如果在本地工作,则需要服务器),而且使用SQL工作涉及到使用多种数据库软件,MySQL、SQL Server和PostgreSQL等等。
SQL软件的语法有轻微的差异。这可能会很烦人,因为不是所有的企业都使用相同的软件。因此,至少应该学习最常用的软件,如MySQL和SQL Server。