国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

SQL和Python的集合操作對比:適合的就好!

運維 數據庫運維
對于分析師或數據科學家而言,熟悉多種分析編程語言可以在當今數據環境中贏得優勢。在多語言法的主流對話中,尤其是SQL語言和Python語言,通常被描述為功能性離散。

[[267199]]

 對于分析師或數據科學家而言,熟悉多種分析編程語言可以在當今數據環境中贏得優勢。在多語言法的主流對話中,尤其是SQL語言和Python語言,通常被描述為功能性離散。

SQL和Python都可以實現許多功能。探索兩種編程語言重疊的功能可以幫助只熟悉一種編程語言的人更加熟悉另一種編程語言。組合和利用每種編程語言,可以對其做出更明智的決策,并更好地為每個任務選擇合適的工具。了解如何在SQL或Python中完成任務將幫助你選擇出***的工作工具。

集合操作

分析式問題通常需要檢查多個不同的數據集。在解答過程中,通過比較或組合不同的數據集來創建一組新數據集,非常有效。

例如,你可能有兩個單獨的表,其中包含要轉換為單個事務表的事務性數據,你想把它們合并為一個表,或者創建一個同時包含兩個表中數據的新事務表。

在SQL中,集合操作符可以解決這個問題。集合操作符支持對比性操作,可以有條件地連結兩個SQL語句的結果集。SQL集合操作符包括:

  • UNION:從待比較的兩個查詢語句返回結果行。在默認情況下,如果兩個SQL語句的結果集中存在相同的行,則UNION不會返回重復行。如果你想返回重復行,可以向集合操作符UNION提供可選ALL關鍵字。
  • INTERSECT:返回位于兩個待比較的查詢語句結果集中的行。
  • EXCEPT(或者MINUS):返回到非待比較的查詢語句結果集中的行。

雖然Python中沒有特定的集合操作符種類,但Python中仍然有各種各樣的函數可以實現這些功能。

為了說明如何在實踐中使用這些集合操作,先假設你作為一名雙邊市場數據科學家。在你的市場中有買家和賣家,二者并不相互排斥。現在,買賣雙方分別存在于buyers和sellers表格的數據庫中。讓我們來瀏覽一下集合操作可能發揮作用的幾種場景。

合并和合并所有

假設你想把存在于buyers和sellers表格中的所有用戶合并到一個新的單獨的“用戶”表格中。

在SQL中,你可以使用UNION操作符和可選ALL關鍵字來實現:

  1. -- SQL
  2. select user_id  
  3. from modeanalytics.buyers  
  4. union all  
  5. select user_id  
  6. from modeanalytics.sellers 

在Python中,可以使用pandas .concat()函數復制上面執行的UNION ALL集合操作。

pandas .concat()方法沿著選定的軸連接pandas對象(例如Dataframes,Series等)。假設您已將buyers和sellers數據庫表格中user_id字段存儲在兩個pandas數據框對象中(buyers 和 sellers),你可以使用以下Python代碼復制上面執行過的UNION ALL集合操作:

  1. # Python 
  2. users = pd.concat([buyers, sellers]) 

需要注意的是,在SQL中使用UNION和ALL關鍵字,或者在Python中使用pandas concat()方法,你將把存在于兩個表格中的用戶(用戶即是買家又是賣家)返回到重復行。但是,如果你只想返回存在于兩個表中的一個用戶的單一實例時:

在SQL中,從UNION集合操作符中移除ALL關鍵字:

  1. -- SQL
  2. select user_id  
  3. from modeanalytics.buyers  
  4. union  
  5. select user_id  
  6. from modeanalytics.sellers 

在Python中,將.drop_duplicates()方法鏈接在連接pandas對象上:

  1. # Python 
  2. users = pd.concat([buyers, sellers]).drop_duplicates() 

交集

反之,如果你想創建一個既是買家又是賣家的獨立用戶表格呢?

在SQL中,你可以使用INTERSECT集合操作符:

  1. -- SQL
  2. select user_id  
  3. from modeanalytics.buyers  
  4. intersect  
  5. select user_id  
  6. from modeanalytics.sellers 

在Python中,你可以在數據框中使用pandas .merge()方法:

  1. Python 
  2. buyers_and_sellers = buyers.merge(sellers) 

默認情況下,pandas .merge()方法將嘗試將兩個數據框中的所有列進行“內部”合并。此默認操作基本復制了SQL集合操作符INTERSECT的步驟。

差集

現在,如果你想返回到所有買家用戶,而不是賣家用戶。

在SQL中,你可以使用EXCEPT集合操作:

  1. -- SQL 
  2. select user_id 
  3. from modeanalytics.buyers 
  4. except 
  5. select user_id 
  6. from modeanalytics.sellers 

值得注意的是,SQL的EXCEPT集合操作符只能返回到***個表格,不能返回到第二個表格。如果你想要返回到賣方的表格中,你需要顛倒SELECT語句的順序:

  1. -- SQL 
  2. select user_id 
  3. from modeanalytics.sellers 
  4. except 
  5. select user_id 
  6. from modeanalytics.buyers 

在Python中,利用pandas布爾索引技術和pandas .isin() 索引來復制SQL EXCEPT集合操作符的功能:

  1. # Python  
  2. buyers_not_sellers = buyers[buyers.user_id.isin(sellers.user_id) == False 
  3. sellers_not_buyers = sellers[sellers.user_id.isin(buyers.user_id) == False]` 

模糊界限

到這里,你已經了解了如何在Python中復制大量SQL集合操作符的功能。最終,編程模式的選擇取決于你,甚至可以在項目基礎上逐個改動。只有通過掌握分析語言功能上的重疊,才能有效做出決策。這就是使用多種數據分析語言的好處:你可以自定義一個混合方法來滿足你不斷發展的需求。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2021-04-09 23:00:12

SQL數據庫Pandas

2022-07-20 12:24:38

Python列表集合

2020-10-16 11:53:52

數據分析PythonSQL

2011-08-25 14:10:00

SQL ServerDB2修改數據表列

2011-03-03 09:43:53

Visual Stud

2024-11-11 07:00:00

Python編程

2024-09-12 17:05:13

2024-04-18 09:16:03

EnumeratePythonFor循環

2014-06-19 10:48:18

RubyPython

2020-07-03 18:14:20

JavaScript開發技術

2017-11-14 18:54:43

MySQLMongoDBNoSQL

2010-10-09 10:39:49

2017-03-14 14:38:21

數據庫SQL語句集合運算

2023-10-11 11:24:08

SQL和PythonPython

2021-08-19 10:30:13

Java集合排序程序開發

2025-01-03 17:10:54

2011-03-23 17:11:21

Lampwamp

2013-03-15 15:04:41

vSphere備份VDP

2020-09-30 14:24:58

PythonSet對象

2013-08-20 13:22:35

PythonGo編程語言
點贊
收藏

51CTO技術棧公眾號

综合欧美亚洲日本| 青草综合视频| 国产伦精品一区二区三区精品视频| 99视频一区二区| 欧美日本三级| 免费看污污网站| 欧美一级免费视频| 亚洲美女偷拍久久| 成人羞羞视频播放网站| 最新在线观看av网站| 国产欧美日韩综合精品| 天天做天天摸天天爽国产一区 | 国产超级va在线视频| 成人h视频在线| 天天综合网天天综合色| 国产在线视频欧美一区| 国产不卡视频一区二区三区| 暖暖成人免费视频| 9久久9毛片又大又硬又粗| 成人97在线观看视频| 亚洲欧美日韩国产综合在线| 午夜久久黄色| xxxxxx欧美| 亚洲福利精品视频| 成人在线激情视频| 欧美一区二区播放| 成人av高清在线| 琪琪久久久久日韩精品| 久蕉依人在线视频| 日本精品福利视频| 欧日韩在线观看| 欧美综合一区二区三区| 国产自产高清不卡| 久久1电影院| 中文字幕在线视频区| 97国产精品久久| 夜夜嗨av色综合久久久综合网| 伊人久久五月天| 国产电影一区在线| 超碰aⅴ人人做人人爽欧美| 亚洲欧洲精品一区二区三区不卡| 欧美v亚洲v| av网站免费观看| 国产a级毛片一区| 偷窥自拍亚洲色图精选| 老司机午夜av| 日日夜夜精品网站| 欧美一级裸体视频| 久久99爱视频| 亚洲三级网页| 国产成人aaa| 在线播放亚洲一区| 国产69精品久久久久9| 国产精品乱子乱xxxx| 亚洲视频欧美在线| 成人激情在线播放| 国产日韩在线看| 91精品在线一区| 日韩电影免费在线观看中文字幕| 久久精品一区二区三区四区| 欧美日韩一二三四| 第一av在线| 国产在线激情视频| 日韩精品视频在线观看一区二区三区| 欧美r级电影在线观看| 99国产精品久久久久| 国产成人精品亚洲777人妖 | 免费一级毛片在线观看| 天天色综合天天色| 色偷偷亚洲第一综合| 亚洲午夜精品久久久中文影院av | 日本福利视频一区| 国产精品一区=区| 91午夜理伦私人影院| 色爱区成人综合网| 国产青草视频在线观看| 一个人免费观看视频www在线播放| 最新国产在线| 久久久久久国产精品免费无遮挡| 日韩三级av高清片| 亚洲高清视频中文字幕| 午夜精品久久久久久久99热| 男女激情网站| 国产又粗又猛又爽又黄91精品| 在线观看免费一区| 亚洲久久久久久久久久久| 国产精品白嫩美女在线观看| 日韩免费中文专区| 性生大片免费观看性| 四虎亚洲精品| 视频亚洲一区二区| 另类中文字幕网| 日韩欧美色综合网站| 国产精品日本一区二区| 一区二区三区伦理| 日本午夜精品一区二区三区电影| 一区二区三区高清在线视频| aaa毛片在线观看| 视频一区二区三| 国产精品中文字幕在线| 少妇高潮久久久久久潘金莲| 欧美大片免费久久精品三p| 狠狠躁天天躁日日躁欧美| 国产精品乱子久久久久| 成人精品视频一区| 精品一区二区三区不卡| 亚洲日本黄色| 欧美三区在线| 香蕉视频官网在线观看日本一区二区| 国产成人精品福利| 欧美美女被草| 国产二区视频在线观看| 久久综合99| 亚洲大型综合色站| 91久久精品国产91久久性色tv| 日本在线观看a| 国产在线二区| 日韩欧美少妇| 欧美顶级大胆免费视频| 免费亚洲婷婷| 欧美性大战xxxxx久久久| 欧洲亚洲妇女av| 欧美激情综合色综合啪啪五月| 美女脱光内衣内裤视频久久网站| 999久久久91| 伊人春色之综合网| 国产成人aa在线观看网站站| 亚洲免费一区| 亚洲伊人精品酒店| 国产精品久久久久久av公交车| 久久国内精品| 国产精品一站二站| 影音先锋欧美激情| 欧美丝袜足交| 成人精品影视| 欧美黄色大片网站| 国产日产高清欧美一区二区三区| 亚洲欧洲午夜| 国产男女爽爽爽| 石原莉奈一区二区三区高清在线| 国产精品99久久99久久久| 激情视频免费| 美乳在线观看| 国产精品久久久久白浆| 中文字幕不卡免费视频| 免费播放片a高清在线观看| 91在线直播| 国产网红在线观看| 日韩一区二区三区免费视频| 欧洲大片精品免费永久看nba| 欧美日韩一区二区三区不卡视频| 欧美一级精品| 99riav国产精品| 久久99国产精品久久| 91亚洲男人天堂| 亚洲精品自拍动漫在线| 日韩欧美大尺度| 欧美精品三级在线观看| 亚洲第一偷拍网| 亚洲图片在线综合| 欧美激情视频一区二区| 国产精品国内视频| 好吊色欧美一区二区三区四区| 亚洲福利av| 国产亚洲天堂网| 在线看片黄色| 国产精品va在线观看视色 | 欧美男女交配| 亚洲三级av| 波多野结衣在线观看一区二区三区| 午夜精品久久| 精品亚洲国产成人av制服丝袜| 26uuu欧美日本| 五月婷婷综合在线| 日韩精品专区在线影院观看| 久久久久999| 成人黄色大片在线免费观看| 日本一区网站| 六月激情综合网| 一区二区三区视频国产日韩| 美足av综合网| 51亚洲精品| 亚洲激情综合| 99精品欧美一区二区三区小说| 亚洲国产三级在线| 精品区一区二区| 国模视频一区二区| 国产一区自拍视频| 欧洲美女和动交zoz0z| 97在线资源在| av色图一区| 日韩一区二区三免费高清在线观看| 神马日本精品| 久久久精品日韩| 国产欧美一区二区精品久导航| 色激情天天射综合网| 在线观看中文字幕亚洲| 国产日韩av高清| 女人色极品影院| 视频国产在线观看|