該用Python還是SQL?4個案例教你節省時間

2021-09-13 13:39:12 字數 1833 閱讀 1117

在資料分析行業,對資料提出的每乙個問題都可以用多種潛在的語言和工具包來回答。每種語言都有其優勢,它們之間也存在著不同的區別。不能否認的是,有些操作用python執行起來要比sql更加高效。這篇文章分享了4個能夠節省時間的案例,在這幾個案例中,python在探索和分析資料集方面遠遠優於sql。

描述性統計

假設你正在探索新的資料集,可以使用許多不同的方法來統計描述這些資料,並得到總體感知。例如:

· 計數

· 平均值

· 標準偏差

· 最小值

· 第一四分位數

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

· 第三四分位數

· 最大值

要想在sql中得到以上資訊,你需要輸入:

但也許你並不想輸入以上所有**。你可以使用pandas的dataframe.describe()函式來得出基礎資料集的基本描述性統計資訊。

datasets['python input'].describe().round(1)

檢視此報告並仿照該報告自行探索描述性統計。

移動平均值

假設你現在想計算移動平均值,以便於在輸入不斷變化的情況下得到其明確的平均值。移動平均值有助於消除資料驟降和峰值的影響,從而使長期趨勢更加顯而易見。

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

在python中,只需以下**便可快速得到相同的兩周移動平均值:

另外,python能夠進一步實現視覺化。

樞軸

要想重新排列資料與樞軸以繪製圖表或是演示文稿格式,在sql中需要幾個步驟才能實現。在這個案例中,需要將mode public warehouse中大學橄欖球運動員的資料集從行樞軸轉換到列樞軸。

首先,要彙總每年、每場比賽的運動員的資訊來準備資料。

轉換資料之後,需要將查詢(query)嵌入子查詢(subquery)中。

接下來,如果你想將結果按照年份分成幾列,可以用select語句為每個項單獨建立列。

雖然這能使你很好地控制查詢和程序,但是用python操作實則要更加輕鬆。當你從年份和比賽中select大學橄欖球運動員後,可以跳轉到notebook並執行dataframe.pivot。你能根據列值重塑資料,因而可以重新排列結果集。

dataframe.pivot

自連線

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

在pandas中,我們可以這樣實現:

想自己嘗試建立自連線嗎?仿照這篇報告來撰寫你的個人mode報告吧!

SQL4種匹配規則

1.表示任意0個或多個字元。如下語句 select from user where name like 三 將會把name為 張三 三腳貓 唐三藏 等等有 三 的全找出來。三 表示左匹配。三 表示右匹配。三 表示模糊查詢。2.表示任意單個字元。語句 select from user where na...

窺探SQL 4 集合運算

2.鏈結 join 集合,在資料庫領域表示記錄的集合.具體來說,表 檢視和查詢的執行結果都是記錄的集合,其中的元素為表或者查詢結果中的每一行.在標準 sql 中,分別對檢索結果使用 union,intersect,except 來將檢索結果進行並,交和差運算,像union,intersect,exc...

互動式SQL 4 資料更新及完整性檢查(實驗5)

三 實驗內容及步驟 在實驗報告中記錄每個查詢的sql語句 向表students 中插入 0601001,趙林,男,1985 09 08,計算機 的記錄。向sc 表中新增乙個學生的選課記錄,學號為0601001,所選的課程號為c2。sc表中有sno cno grade 這3 個列。這裡只知道學號和課程...