久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

學(xué)習(xí)python中的pandas有沒有好的教程推薦?

 乙甲壬 2020-07-12
分分享一下之前結(jié)合SQL梳理過的Pandas使用教程,。

相對(duì)于學(xué)習(xí)Pandas各種數(shù)據(jù)篩選操作,SQL語(yǔ)法顯得更加簡(jiǎn)潔清晰,,若能夠?qū)QL語(yǔ)法與Pandas中對(duì)應(yīng)的函數(shù)的使用方法關(guān)聯(lián)起來,,對(duì)于我們應(yīng)用Pandas進(jìn)行數(shù)據(jù)篩選來講無(wú)疑是一個(gè)福音。

本文通過Pandas實(shí)現(xiàn)SQL語(yǔ)法中條件過濾,、排序,、關(guān)聯(lián)、合并,、更新,、刪除等簡(jiǎn)單及復(fù)雜操作,使得我們對(duì)方法的理解更加深刻,,更加得心應(yīng)手,。


演示數(shù)據(jù)集

本文采用安德森鳶尾花卉(iris)數(shù)據(jù)集進(jìn)行演示,,iris數(shù)據(jù)集包含150個(gè)樣本,,對(duì)應(yīng)數(shù)據(jù)集的每行數(shù)據(jù)。每行數(shù)據(jù)包含每個(gè)樣本的四個(gè)特征和樣本的類別信息,,因此iris數(shù)據(jù)集是一個(gè)150行*5列的二維表,。

我們可以 UCI Iris dataset 中獲取或者使用 from sklearn.datasets import load_iris 方式獲取,為了演示方便我們只取其中10行數(shù)據(jù),,如下:

接下來,,就讓我們一起學(xué)習(xí)一下,,如何Pandas實(shí)現(xiàn)SQL語(yǔ)法中條件過濾、排序,、關(guān)聯(lián),、合并、更新,、刪除等數(shù)據(jù)查詢操作,。


字段查詢 SELECT

如上SQL實(shí)現(xiàn)返回每行記錄的 sl,sw,pl,pw 字段,僅返回2行記錄,。我們使用Pandas實(shí)現(xiàn)如上SQL的功能,,代碼如下:

簡(jiǎn)單的條件過濾查詢 WHERE

如上SQL實(shí)現(xiàn)了查詢滿足classes=1的記錄,并返回2行,。我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:


多條件的與或過濾查詢 WHERE AND|OR

與關(guān)系 &

如上SQL實(shí)現(xiàn)查詢同時(shí)滿足classes=1 和 pl >=5 兩個(gè)條件的記錄,并返回2行,。我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:

或關(guān)系 |

如上SQL實(shí)現(xiàn)查詢滿足 sl >=5 或者 pl >=5 任一條件的記錄,返回2行,。我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:


條件過濾 空值判斷

空判斷 is null

如上SQL實(shí)現(xiàn)查詢 sl 字段為NULL的記錄,我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:


非空判斷 is not null

如上SQL實(shí)現(xiàn)查詢sl字段不為 NULL 的記錄,。我們使用Pandas實(shí)現(xiàn)該SQL,代碼如下:


排序 ORDER BY ASC|DESC

如上SQL實(shí)現(xiàn)將滿足sl字段值大于等于5的記錄,,按照classes降序排序,。我們使用Pandas實(shí)現(xiàn)該SQL,代碼如下:


更新 UPDATE

如上SQL實(shí)現(xiàn)將同時(shí)滿足pw = 1.7 和 pl >= 5的記錄中的classes字段值更新為2,。我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:


分組統(tǒng)計(jì) GROUP BY

如上SQL實(shí)現(xiàn) 根據(jù)classes進(jìn)行分組,返回classes 及每組數(shù)量,。我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:


分組統(tǒng)計(jì) 聚合輸出

如何SQL實(shí)現(xiàn)根據(jù)classes進(jìn)行分組,返回classes值,,每個(gè)分組的pl平均值以及每個(gè)分組的sl最大值,。我們使用Pandas實(shí)現(xiàn)該SQL,代碼如下:


刪除

如上SQL實(shí)現(xiàn)將同時(shí)滿足pw = 1.7 和 pl >= 5的記錄刪除,。我們使用Pandas實(shí)現(xiàn)該SQL,,代碼如下:


UNION & JOIN 演示數(shù)據(jù)集

接下來介紹如何使用Pandas進(jìn)行合并查詢及多表關(guān)聯(lián)查詢,為了演示方便,,我們上面示例中的iris數(shù)據(jù)集,,拆分成iris_a,,iris_b兩部分,如下:


UNION 合并查詢

合并結(jié)果 UNION ALL 可能存在重復(fù)記錄

合并如下兩個(gè) SELECT 語(yǔ)句的結(jié)果集,,需注意,,UNION ALL 內(nèi)部的 SELECT 語(yǔ)句必須擁有相同數(shù)量的列,列也必須擁有相似的數(shù)據(jù)類型,。同時(shí),,每條 SELECT 語(yǔ)句中的列的順序必須相同。

如上SQL實(shí)現(xiàn)將兩個(gè)查詢結(jié)果進(jìn)行合并,,允許存在重復(fù)記錄,。我們使用 pandas.concat 方法實(shí)現(xiàn)該SQL,代碼如下:

合并結(jié)果 UNION 不存在重復(fù)記錄

合并如下兩個(gè) SELECT 語(yǔ)句的結(jié)果集,,同時(shí)也需注意,,UNION 內(nèi)部的 SELECT 語(yǔ)句必須擁有相同數(shù)量的列,列也必須擁有相似的數(shù)據(jù)類型,。同時(shí),,每條 SELECT 語(yǔ)句中的列的順序必須相同。

如上SQL實(shí)現(xiàn)將兩個(gè)select查詢結(jié)果進(jìn)行合并,,不允許存在重復(fù)記錄,。我們使用 pandas.concat.drop_duplicates 方法 實(shí)現(xiàn)該SQL,代碼如下:


JOIN 連接查詢

同樣,,我們依舊使用如上演示數(shù)據(jù),,如下:

內(nèi)連接 INNER JOIN

獲取iris_a,iris_b兩個(gè)表中classes字段相同的記錄,,并返回滿足條件的兩張表中的所有記錄,。

如上SQL實(shí)現(xiàn)iris_airis_b 按照classes字段進(jìn)行內(nèi)連接。我們使用 pandas.merge(iris_a, iris_b, on='classes') 實(shí)現(xiàn)該SQL,,代碼如下:

左連接 LEFT OUTER JOIN

獲取左表 iris_a 所有記錄,,判斷每條數(shù)據(jù)的 classes 字段是否能匹配到右表iris_b的數(shù)據(jù),無(wú)論能否匹配到,,左表 iris_a 數(shù)據(jù)都會(huì)保留,。若能匹配,則左右表都保留,。若不能匹配,,右表iris_b字段都置空NULL,并返回保留的記錄,。

如上SQL實(shí)現(xiàn)iris_a 與 iris_b 按照classes字段進(jìn)行左連接,。我們使用 pandas.merge(iris_a, iris_b, on='classes', how='left') 方法實(shí)現(xiàn)該SQL,,代碼如下:

右連接 RIGHT OUTER JOIN

獲取右表 iris_b 所有記錄,,判斷每條數(shù)據(jù)的 classes 字段是否能匹配到右表 iris_a 的數(shù)據(jù),,無(wú)論能否匹配到,右表 iris_b 數(shù)據(jù)都會(huì)保留,。若能匹配,,則左右表都保留。若不能匹配,,左表iris_a字段都置空NULL,,并返回保留的記錄。

如上SQL實(shí)現(xiàn)iris_a 與 iris_b 按照classes字段進(jìn)行右連接,。我們使用 pandas.merge(iris_a, iris_b, on='classes', how='right')實(shí)現(xiàn)該SQL,,代碼如下:

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多