沒那么簡單:僅靠Python你沒法找到數(shù)據(jù)科學(xué)工作
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)
自從數(shù)據(jù)科學(xué)興起,Python成為必要的數(shù)據(jù)分析工具,大受歡迎,Python受到如此多贊譽(yù)和關(guān)注,主要是因?yàn)樗臄?shù)據(jù)科學(xué)庫和它的用戶友好性。這并不奇怪,因?yàn)檫@種高級編程語言使用了類似英語的語法。
另一個(gè)讓Python無處不在的重要因素在于,它是一種開源的編程語言,這意味著它不會(huì)產(chǎn)生任何成本。
數(shù)據(jù)科學(xué)和Python相結(jié)合是一段充滿希望的冒險(xiǎn)。開發(fā)者們可用它處理當(dāng)下的業(yè)務(wù)問題,從醫(yī)療健康到工業(yè)等涉及各個(gè)領(lǐng)域。從數(shù)據(jù)中獲得的洞見最終都要用于積極驅(qū)動(dòng)市場,為企業(yè)和利益相關(guān)者創(chuàng)造雙贏環(huán)境。
隨著企業(yè)意識(shí)到數(shù)據(jù)科學(xué)的極大重要性,對數(shù)據(jù)科學(xué)家的需求便劇增了。由此,企業(yè)可應(yīng)用數(shù)據(jù)驅(qū)動(dòng)的方式來優(yōu)化決策過程。
對于數(shù)據(jù)科學(xué)崗位的劇增,求職者的反應(yīng)可謂獨(dú)一無二。招聘人員發(fā)現(xiàn)他們收到的簡歷,不僅有來自與計(jì)算機(jī)科學(xué)相關(guān)背景的求職者,還有來自完全不相關(guān)領(lǐng)域,如人類學(xué)、社會(huì)科學(xué)和無學(xué)位的求職者。
數(shù)據(jù)科學(xué),只有Python就夠了嗎?
數(shù)據(jù)科學(xué)工作崗位需求的確在迅速增長。但與此同時(shí),在這個(gè)領(lǐng)域獲得一份體面的工作仍然具有挑戰(zhàn)性,對新手尤甚。這是因?yàn)椋瑪?shù)據(jù)科學(xué)在理論與現(xiàn)實(shí)生活應(yīng)用中存在著微妙區(qū)別,而后者與企業(yè)日常要處理的問題密切相關(guān)。
數(shù)據(jù)科學(xué)領(lǐng)域的學(xué)術(shù)界中,Python很受重視。教授們和講師們教授如何利用Python的庫,如NumPy, Pandas和Scikit-learn來理解數(shù)據(jù)。然而,雖然在某些情況下,單單Python就足以應(yīng)用數(shù)據(jù)科學(xué),但可惜的是,在企業(yè)界,它只是企業(yè)處理其大量數(shù)據(jù)的一小塊拼圖。
Python的局限性和其替代品
要追溯Python無法覆蓋從數(shù)據(jù)提取到模型評估的所有數(shù)據(jù)科學(xué)階段背后的原因,最重要的是要知道企業(yè)的數(shù)據(jù)首先儲(chǔ)存在哪里。大多數(shù)公司的數(shù)據(jù)儲(chǔ)存在服務(wù)器的數(shù)據(jù)庫上。這些數(shù)據(jù)庫需要被并發(fā)管理以保證效率和數(shù)據(jù)的可用性。
不幸的是,這項(xiàng)任務(wù)超出了Python的能力范圍,于是這里就需要SQL(結(jié)構(gòu)化查詢語言)來發(fā)揮作用。這就是為什么,可以理解,幾乎所有數(shù)據(jù)科學(xué)相關(guān)的工作崗位都會(huì)出現(xiàn)SQL。比如,數(shù)據(jù)分析師、業(yè)務(wù)分析師和數(shù)據(jù)科學(xué)家等。
此外,在著手處理數(shù)據(jù)科學(xué)中的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)等具體細(xì)節(jié)之前,招聘經(jīng)理會(huì)測試應(yīng)聘者的SQL能力。問題在于,沒有了SQL,甚至無法獲得所需要的數(shù)據(jù)去處理。因此,從招聘者角度來看,SQL的使用經(jīng)驗(yàn)比Python的更重要。
SQL VS Python
在專業(yè)人員中,SQL甚至比Python更受歡迎。2020年StackOverflow對47184位專業(yè)開發(fā)者進(jìn)行了關(guān)于最重要編碼語言的最新調(diào)查,其結(jié)論如下:

網(wǎng)絡(luò)開發(fā)語言占據(jù)榜首,如Javascript和HTML/CSS,分別占比69.7%和62.4%。SQL以56.9%的占比緊隨其后。Python以41.6%的占比排名第四,比SQL約低15%。
SQL vs Python: MOOCs
對網(wǎng)上教授SQL的課程進(jìn)行調(diào)查,得到了以下評論:首先,相比于Python,教授SQL的線上課程數(shù)量更少。舉例來說,在Edx搜索欄輸入“SQL”一詞,顯示課程量31,而輸入Python,這一數(shù)字是94。
其次,SQL的課程層次有缺口。簡單來說,要么是課程過于入門,要么是課程過于高級。前者是在SQL的表面上做文章,比如(SELECT、INSERT和UPDATE查詢)。而后者可能會(huì)顯得晦澀難懂,讓人無從下手。
雖然SQL在專業(yè)開發(fā)者群體中備受認(rèn)可,但奇怪的是,它在大多數(shù)線上學(xué)習(xí)平臺(tái)都被低估了。這對自學(xué)的人產(chǎn)生了負(fù)面影響,阻礙了他們向數(shù)據(jù)科學(xué)家前進(jìn)的腳步。
SQL在產(chǎn)業(yè)中的應(yīng)用
“競爭條件”是關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS)中經(jīng)常出現(xiàn)的問題。它發(fā)生在對一個(gè)數(shù)據(jù)庫同時(shí)進(jìn)行數(shù)百萬或數(shù)億次操作的情況下。舉個(gè)例子,當(dāng)社交媒體上的一個(gè)帖子被病毒式傳播,數(shù)百萬人同時(shí)與之互動(dòng),導(dǎo)致數(shù)據(jù)庫上的操作交織在一起,這將導(dǎo)致約束違反和更多不必要的結(jié)果。
細(xì)節(jié)就不多說了,在眾多解決方案中,有一種可能的方案來處理這些情況,那就是使用“鎖”。當(dāng)然,每種解決方案都有其用例和局限性。知道使用哪種方案及何時(shí)使用是一種技能,只有經(jīng)過專業(yè)的經(jīng)驗(yàn)才可磨練出來。
啟發(fā)
Python仍然是一門值得學(xué)習(xí)有趣的編程語言,特別是對于有抱負(fù)的數(shù)據(jù)科學(xué)家來說。它在數(shù)據(jù)科學(xué)中的重要性不容忽視或低估,但SQL仍然是領(lǐng)先的黑馬,在職位競爭激烈的時(shí)候,它讓你比其他候選人更有優(yōu)勢。
學(xué)習(xí)SQL不是走馬觀花。查詢語言不僅需要行業(yè)設(shè)置(如果在本地工作,則需要服務(wù)器),而且使用SQL工作涉及到使用多種數(shù)據(jù)庫軟件,MySQL、SQL Server和PostgreSQL等等。
SQL軟件的語法有輕微的差異。這可能會(huì)很煩人,因?yàn)椴皇撬械钠髽I(yè)都使用相同的軟件。因此,至少應(yīng)該學(xué)習(xí)最常用的軟件,如MySQL和SQL Server。