溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

發(fā)布時(shí)間:2020-07-31 07:51:52 來源:網(wǎng)絡(luò) 閱讀:256 作者:Python熱愛者 欄目:編程語言

在數(shù)據(jù)分析行業(yè),對(duì)數(shù)據(jù)提出的每一個(gè)問題都可以用多種潛在的語言和工具包來回答。每種語言都有其優(yōu)勢(shì),它們之間也存在著不同的區(qū)別。不能否認(rèn)的是,有些操作用Python執(zhí)行起來要比SQL更加高效。這篇文章分享了4個(gè)能夠節(jié)省時(shí)間的案例,在這幾個(gè)案例中,Python在探索和分析數(shù)據(jù)集方面遠(yuǎn)遠(yuǎn)優(yōu)于SQL。

描述性統(tǒng)計(jì)

假設(shè)你正在探索新的數(shù)據(jù)集,可以使用許多不同的方法來統(tǒng)計(jì)描述這些數(shù)據(jù),并得到總體感知。例如:

· 計(jì)數(shù)

· 平均值

· 標(biāo)準(zhǔn)偏差

· 最小值

· 第一四分位數(shù)

· 第二四分位數(shù)(中位數(shù))

· 第三四分位數(shù)

· 最大值

要想在SQL中得到以上信息,你需要輸入:


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

但也許你并不想輸入以上所有代碼。你可以使用pandas的DataFrame.describe()函數(shù)來得出基礎(chǔ)數(shù)據(jù)集的基本描述性統(tǒng)計(jì)信息。

datasets['Python Input'].describe().round(1)

查看此報(bào)告并仿照該報(bào)告自行探索描述性統(tǒng)計(jì)。

移動(dòng)平均值

假設(shè)你現(xiàn)在想計(jì)算移動(dòng)平均值,以便于在輸入不斷變化的情況下得到其明確的平均值。移動(dòng)平均值有助于消除數(shù)據(jù)驟降和峰值的影響,從而使長期趨勢(shì)更加顯而易見。

在SQL中,你可以輸入這樣的查詢(query):


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

在Python中,只需以下代碼便可快速得到相同的兩周移動(dòng)平均值:


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

另外,Python能夠進(jìn)一步實(shí)現(xiàn)可視化。

樞軸

要想重新排列數(shù)據(jù)與樞軸以繪制圖表或是演示文稿格式,在SQL中需要幾個(gè)步驟才能實(shí)現(xiàn)。在這個(gè)案例中,需要將Mode Public Warehouse中大學(xué)橄欖球運(yùn)動(dòng)員的數(shù)據(jù)集從行樞軸轉(zhuǎn)換到列樞軸。

首先,要匯總每年、每場(chǎng)比賽的運(yùn)動(dòng)員的信息來準(zhǔn)備數(shù)據(jù)。


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

轉(zhuǎn)換數(shù)據(jù)之后,需要將查詢(query)嵌入子查詢(subquery)中。


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

接下來,如果你想將結(jié)果按照年份分成幾列,可以用SELECT語句為每個(gè)項(xiàng)單獨(dú)創(chuàng)建列。


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

雖然這能使你很好地控制查詢和進(jìn)程,但是用Python操作實(shí)則要更加輕松。當(dāng)你從年份和比賽中SELECT大學(xué)橄欖球運(yùn)動(dòng)員后,可以跳轉(zhuǎn)到Notebook并運(yùn)行DataFrame.pivot。你能根據(jù)列值重塑數(shù)據(jù),因而可以重新排列結(jié)果集。

DataFrame.pivot

自連接

在很多情況下,你可能想要將一個(gè)表與其自身連接起來。要想創(chuàng)建自連接(self join),需要先輸入此查詢,以便為同一張表創(chuàng)建不同的引用名稱。


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

在pandas中,我們可以這樣實(shí)現(xiàn):


該用Python還是SQL?4個(gè)案例教你節(jié)省時(shí)間

想自己嘗試建立自連接嗎?仿照這篇報(bào)告來撰寫你的個(gè)人Mode報(bào)告吧!


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI