pandas增刪改查!sql2pandas方法手冊
數(shù)據(jù)分析
Author:louwill
Machine Learning Lab
? ? ?
作為一名數(shù)據(jù)分析師or算法工程師,利用SQL熟練的取數(shù)是一項必備的基礎(chǔ)能力。除了SQL以外,Python的pandas也為我們提供了SQL的大多數(shù)功能。筆者對SQL和pandas相關(guān)數(shù)據(jù)操作的對照功能進行了整理。可以說是非常實用了。
標(biāo)準(zhǔn)的SQL查詢語法如下:
select?(distinct)?[字段]from?[表1]?join?[表2] on [匹配字段]where [過濾條件]group by [字段]having?[過濾條件]order by [字段] desclimit?[個數(shù)]?offset?[個數(shù)]
我們以2018-19賽季部分NBA一些球星的數(shù)據(jù)為例進行說明。該數(shù)據(jù)在pandas和MySQL中分別樣式分別如下:


SQL的增刪改查最主要的還是查詢方法。我們先從查詢方法開始。
select:選擇球員、球隊和場均得分三列:

distinct:?查看這些球員都有哪幾種球場位置:

count:統(tǒng)計樣本量

分類值統(tǒng)計:

連續(xù)值描述性統(tǒng)計:

where:
單條件:查找屬于得分后衛(wèi)的球員:

多條件:查找屬于得分后衛(wèi)且得分大于27分的球員:

in/not in?查找:

order by?排序語句:
對球員得分進行排序:

limit/offset語句:
對球員得分排序后取前三或者第二到第四

group by語句:
求每個位置球員的平均得分并降序排序:

having子句:
求每個位置球員的平均得分并篩選大于26分的記錄:

多表聯(lián)立查詢:inner join/outer(left right) join/union
給出新表如下:

inner join:

left join:

right join:

union:

主要的查詢部分對照完了之后,我們再來看SQL和pandas中的增刪改方法。
SQL中創(chuàng)建表、修改表、插入表和刪除表的語句如下表所示:

上述四種方法與之對應(yīng)的pandas寫法如下:

參考資料:
? 往期精彩:
??機器學(xué)習(xí)實驗室的一點年度小結(jié)
【原創(chuàng)首發(fā)】機器學(xué)習(xí)公式推導(dǎo)與代碼實現(xiàn)30講.pdf
【原創(chuàng)首發(fā)】深度學(xué)習(xí)語義分割理論與實戰(zhàn)指南.pdf
??做人不能過擬合
