亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

簡介

在這篇文章中,我將向您展示如何使用 Pandas 通過 SQL 樣式過濾來執(zhí)行數(shù)據(jù)分析。大多數(shù)企業(yè)數(shù)據(jù)都存儲在需要 SQL 來檢索和操作的數(shù)據(jù)庫中。例如,像 Oracle、IBM、Microsoft 這樣的公司擁有自己的數(shù)據(jù)庫和自己的 SQL 實(shí)現(xiàn)。

數(shù)據(jù)科學(xué)家必須在其職業(yè)生涯的某個階段處理 SQL,因?yàn)閿?shù)據(jù)并不總是存儲在CSV 文件。我個人更喜歡使用 Oracle,因?yàn)槲夜镜拇蟛糠謹(jǐn)?shù)據(jù)都存儲在 Oracle 中。

場景 – 1 假設(shè)我們有一個任務(wù),從我們的電影中查找所有電影具有以下條件的數(shù)據(jù)集。

    電影的語言應(yīng)該是英語(en)或西班牙語(es)。電影的受歡迎程度必須介于 500 到 1000 之間。電影的狀態(tài)必須已發(fā)布。投票數(shù)必須大于 5000。對于上述場景,SQL 語句類似于如下。

    SELECT
    FROM WHERE
    title AS movie_title
    ,original_language AS movie_language
    ,popularityAS movie_popularity
    ,statusAS movie_status
    ,vote_count AS movie_vote_count movies_data
    original_languageIN ('en', 'es')
    
    AND status=('Released')
    AND popularitybetween 500 AND 1000
    AND vote_count > 5000;

    登錄后復(fù)制

    現(xiàn)在你已經(jīng)看到了滿足需求的SQL語句,讓我們使用pandas一步一步地進(jìn)行操作。我將向你展示兩種方法。

    方法1:布爾索引

    1. 將movies_data數(shù)據(jù)集加載到DataFrame中。

    import pandas as pd movies = pd.read_csv("https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv")

    登錄后復(fù)制

    為每個條件分配一個變量。

    languages = [ "en" , "es" ] condition_on_languages = movies . original_language . isin ( languages )
    condition_on_status = movies . status == "Released"
    condition_on_popularity = movies . popularity . between ( 500 , 1000 )
    condition_on_votecount = movies . vote_count > 5000

    登錄后復(fù)制

    3.將所有條件(布爾數(shù)組)組合在一起。

    final_conditions = ( condition_on_languages & condition_on_status & condition_on_popularity & condition_on_votecount )
    columns = [ "title" , "original_language" , "status" , "popularity" , "vote_count" ]
    # clubbing all together movies . loc [ final_conditions , columns ]

    登錄后復(fù)制

    標(biāo)題

    original_language

    狀態(tài)

    受歡迎程度

    vote_count

    95星際

    zh

    已發(fā)布

    724.247784

    10867

    788死侍

    zh

    已發(fā)布

    514.569956

    10995

    方法2:- .query()方法。

    .query()方法是SQL where子句樣式過濾數(shù)據(jù)的方法。條件可以作為字符串傳遞給此方法,但是,列名稱不得包含任何空格。

    如果列名稱中有空格,請使用 python 替換函數(shù)將其替換為下劃線。

    根據(jù)我的經(jīng)驗(yàn),我發(fā)現(xiàn) query() 方法在應(yīng)用于較大的 DataFrame 時比以前的方法更快。

    import pandas as pd movies = pd . read_csv ( "https://raw.githubusercontent.com/sasankac/TestDataSet/master/movies_data.csv" )

    登錄后復(fù)制

    4.構(gòu)建查詢字符串并執(zhí)行該方法。

    請注意,.query 方法不適用于跨越多行的三重引號字符串。

    final_conditions = (
    "original_language in ['en','es']"
    "and status == 'Released' "
    "and popularity > 500 "
    "and popularity < 1000"
    "and vote_count > 5000"
    ) final_result = movies . query ( final_conditions )
    final_result

    登錄后復(fù)制

    預(yù)算

    id

    original_language

    original_title

    受歡迎程度

    發(fā)布日期

    收入

    運(yùn)行時

    st

    95

    165000000

    157336

    zh

    星際

    724.247784

    2014年5月11日

    675120017

    169.0

    關(guān)系

    788

    58000000

    293660

    zh

    死侍

    514.569956

    2016年9月2日

    783112979

    108.0

    關(guān)系

    還有更多,通常在我的編碼中,我有多個值要檢查我的“in”子句。所以上面的語法并不理想。可以使用 at 符號 (@) 引用 Python 變量。

    您還可以以編程方式將值創(chuàng)建為 Python 列表,并將它們與 (@) 一起使用。

    movie_languages = [ 'en' , 'es' ]
    final_conditions = (
    "original_language in @movie_languages "
    "and status == 'Released' "
    "and popularity > 500 "
    "and popularity < 1000"
    "and vote_count > 5000" )
    final_result = movies . query ( final_conditions )
    final_result

    登錄后復(fù)制

    293660

    預(yù)算

    id

    original_language

    original_title

    受歡迎程度

    發(fā)布日期

    收入

    運(yùn)行時

    st

    95

    165000000

    157336

    zh

    星際

    724.247784

    2014年5月11日

    675120017

    169.0

    關(guān)系

    788

    58000000

    zh

    死侍

    514.569956 p>

    2016年9月2日

    783112979

    108.0

    關(guān)系

    以上就是如何在 Pandas 的 SQL 查詢樣式中選擇數(shù)據(jù)子集?的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:如何在 子集 數(shù)據(jù) 樣式 選擇
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定