日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

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

簡介

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

數據科學家必須在其職業生涯的某個階段處理 SQL,因為數據并不總是存儲在CSV 文件。我個人更喜歡使用 Oracle,因為我公司的大部分數據都存儲在 Oracle 中。

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

    電影的語言應該是英語(en)或西班牙語(es)。電影的受歡迎程度必須介于 500 到 1000 之間。電影的狀態必須已發布。投票數必須大于 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;

    登錄后復制

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

    方法1:布爾索引

    1. 將movies_data數據集加載到DataFrame中。

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

    登錄后復制

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

    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

    登錄后復制

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

    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 ]

    登錄后復制

    標題

    original_language

    狀態

    受歡迎程度

    vote_count

    95星際

    zh

    已發布

    724.247784

    10867

    788死侍

    zh

    已發布

    514.569956

    10995

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

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

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

    根據我的經驗,我發現 query() 方法在應用于較大的 DataFrame 時比以前的方法更快。

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

    登錄后復制

    4.構建查詢字符串并執行該方法。

    請注意,.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

    登錄后復制

    預算

    id

    original_language

    original_title

    受歡迎程度

    發布日期

    收入

    運行時

    st

    95

    165000000

    157336

    zh

    星際

    724.247784

    2014年5月11日

    675120017

    169.0

    關系

    788

    58000000

    293660

    zh

    死侍

    514.569956

    2016年9月2日

    783112979

    108.0

    關系

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

    您還可以以編程方式將值創建為 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

    登錄后復制

    293660

    預算

    id

    original_language

    original_title

    受歡迎程度

    發布日期

    收入

    運行時

    st

    95

    165000000

    157336

    zh

    星際

    724.247784

    2014年5月11日

    675120017

    169.0

    關系

    788

    58000000

    zh

    死侍

    514.569956 p>

    2016年9月2日

    783112979

    108.0

    關系

    以上就是如何在 Pandas 的 SQL 查詢樣式中選擇數據子集?的詳細內容,更多請關注www.92cms.cn其它相關文章!

分享到:
標簽:如何在 子集 數據 樣式 選擇
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定