1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【Python基礎(chǔ)】5個Pandas技巧

        共 1388字,需瀏覽 3分鐘

         ·

        2020-08-18 03:29

        作者 | RAM DEWANI?

        編譯 | VK?

        來源 | Analytics Vidhya

        概述

        • Pandas提供了許多技術(shù),使Python中的數(shù)據(jù)分析更容易
        • 我們將討論一些技巧,幫助你成為一個更好、更高效的分析師

        介紹

        效率已成為及時完成工作的關(guān)鍵因素。一個人不應(yīng)該花超過合理的時間去完成事情。尤其是當(dāng)任務(wù)涉及基本編碼時。使用Pandas庫能節(jié)省你的時間。

        Pandas是一個開源包。它有助于用Python語言執(zhí)行數(shù)據(jù)分析和數(shù)據(jù)操作。此外,它還為我們提供了靈活的數(shù)據(jù)結(jié)構(gòu)。

        目錄

        • Pandas技巧1–行的條件選擇

        • Pandas技巧2–數(shù)據(jù)的存儲

        • Pandas技巧3–分組數(shù)據(jù)

        • Pandas技巧4–Pandas map

        • Pandas技巧5–Pandas DataFrame的條件格式化

        Pandas技巧1–行的條件選擇

        首先,數(shù)據(jù)探索是必要步驟。Pandas為進(jìn)行各種分析提供了一種快速簡便的方法。其中一個非常重要的技巧是根據(jù)條件選擇行或過濾數(shù)據(jù)。

        行的條件選擇可以基于由邏輯運算符分隔的單個語句中的單個條件或多個條件。

        例如,我使用一個關(guān)于貸款預(yù)測的數(shù)據(jù)集。

        我們將挑選一排還沒有畢業(yè)、收入低于5400英鎊的客戶。讓我們看看我們該怎么做。

        視頻:https://youtu.be/hc4or_RF5M8

        import?pandas?as?pd
        data?=?pd.read_csv('../Data/loan_train.csv')
        data.head()
        data2?=?data.loc[(data['Education']?==?'Not?Graduate')?&?(data['ApplicantIncome']?<=?5400)]
        data2

        注意:記住把每個條件放在括號內(nèi)。

        Pandas技巧2–數(shù)據(jù)的存儲

        數(shù)據(jù)可以有兩種類型-連續(xù)的和離散的,這取決于我們的分析要求。有時我們不需要連續(xù)變量中的精確值,但需要它所屬的群體。

        例如,你的數(shù)據(jù)中有一個連續(xù)變量,年齡。但你需要一個年齡組來進(jìn)行分析,比如兒童、青少年、成人、老年人。實際上,Binning非常適合解決我們這里的問題。

        為了執(zhí)行Binning,我們使用cut()函數(shù)。這對于從連續(xù)變量到離散變量非常有用。

        視頻:https://youtu.be/WQagYXIFjns

        import?pandas?as?pd

        df?=?pd.read_csv('titanic.csv')
        from?sklearn.utils?import?shuffle

        #?隨機化
        df?=?shuffle(df,?random_state?=?42)

        df.head()

        bins?=?[0,4,17,65,99]
        labels?=['Toddler','Child','Adult','Elderly']

        category?=?pd.cut(df['Age'],?bins?=?bins,?labels?=?labels)

        df.insert(2,?'Age?Group',?category)

        df.head()

        df['Age?Group'].value_counts()

        df.isnull().sum()

        代碼:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/binning_data.ipynb

        Pandas技巧3–分組數(shù)據(jù)

        這種操作在數(shù)據(jù)科學(xué)家和分析師的日常生活中經(jīng)常執(zhí)行。Pandas提供了一個基本的函數(shù)來執(zhí)行數(shù)據(jù)分組,即Groupby。

        Groupby操作包括根據(jù)特定條件拆分對象,應(yīng)用函數(shù),然后組合結(jié)果。

        讓我們再看一次貸款預(yù)測數(shù)據(jù)集,假設(shè)我想看看給來自不同財產(chǎn)領(lǐng)域的人的平均貸款額,比如農(nóng)村、半城市和城市?;c時間來理解這個問題陳述并思考如何解決它。

        嗯,Pandas的groupby可以非常有效地解決這個問題。首先根據(jù)屬性區(qū)域劃分?jǐn)?shù)據(jù)。其次,我們將mean()函數(shù)應(yīng)用于每個類別。最后,我們將它們組合在一起,并將其打印為新的數(shù)據(jù)幀。

        視頻:https://youtu.be/fK-6ZlPvZYU

        #導(dǎo)入數(shù)據(jù)集
        import?pandas?as?pd

        df?=?pd.read_csv('../Data/loan_train.csv')
        df.head()

        #?男女平均收入
        df.groupby(['Gender'])[['ApplicantIncome']].mean()

        #?平均貸款金額不同的財產(chǎn)地區(qū),如城市,農(nóng)村
        df.groupby(['Property_Area'])[['LoanAmount']].mean()

        #?比較不同教育背景的貸款狀況
        df.groupby(['Education'])[['Loan_Status']].count()

        代碼:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/groupby_in_pandas.ipynb

        Pandas技巧4–Pandas map

        map是另一個提供高度靈活性和實際應(yīng)用的重要操作。

        Pandas map()用于根據(jù)輸入對應(yīng)關(guān)系將序列中的每個值映射到其他值。實際上,這個輸入可以是一個序列、字典,甚至是一個函數(shù)。

        讓我們舉一個有趣的例子。我們有一個虛擬的雇員數(shù)據(jù)集。此數(shù)據(jù)集由以下列組成–姓名、年齡、職業(yè)、城市。

        現(xiàn)在需要添加另一列,說明相應(yīng)的狀態(tài)。你會怎么做?如果數(shù)據(jù)集的范圍是10行,你可以手動執(zhí)行,但是如果有數(shù)千行呢?使用Pandas map會更有利。

        視頻:https://youtu.be/XkwQOy5RZWY

        #樣本數(shù)據(jù)
        data?=?{'name':?['A',?'B',?'C',?'D',?'E'],?
        ????????'age':?[22,?26,?33,?44,?50],
        ????????'profession'?:?['data?engineer',?'data?scientist',?'entrepreneur',?'business?analyst',?'self-employed'],?
        ????????'city':?['Gurgaon',?'Bangalore',?'Gurgaon',?'Pune',?'New?Delhi']}

        df?=?pd.DataFrame(data)
        df

        #?城市與州
        map_city_to_states?=?{?'Gurgaon'?:?'Haryana',?
        ??????????????????'Bangalore'?:?'Karnataka',?
        ??????????????????'Pune'?:?'Maharashtra',?
        ??????????????????'New?Delhi'?:?'Delhi'}

        #?將城市列映射為州
        df['state']?=?df['city'].map(map_city_to_states)
        df

        代碼:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/map%20python.ipynb

        Pandas技巧5–Pandas DataFrame的條件格式化

        這是我最喜歡的Pandas技巧之一。這個技巧讓我有能力直觀地定位特定條件下的數(shù)據(jù)。

        可以使用Pandas的style屬性將條件格式應(yīng)用于數(shù)據(jù)框。事實上,條件格式是根據(jù)某種條件對數(shù)據(jù)幀應(yīng)用視覺樣式的操作。

        雖然Pandas提供了大量的操作,但我將在這里向你展示一個簡單的操作。例如,我們有對應(yīng)于每個銷售人員的銷售數(shù)據(jù)。我想查看的是銷售價值高于80的。

        視頻:https://youtu.be/vuirWysk_BA

        import?pandas?as?pd

        data?=?pd.read_excel("../Data/salesman_performance.xlsx")
        data

        data.style

        def?highlight_green(sales):
        ????color?=?'green'?if?sales?>?80?else?'black'
        ????return?'color:?%s'?%?color

        formatting?=?data.iloc[:,1:6].style.applymap(highlight_green)
        formatting

        代碼:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/Pandas_conditional_formatting.ipynb

        結(jié)尾

        在這篇文章中,我們總結(jié)了Pandas的5個技巧。我希望這些技巧能幫助你完成日常的任務(wù),并為你節(jié)省很多時間。

        原文鏈接:https://www.analyticsvidhya.com/blog/2020/07/5-striking-pandas-tips-and-tricks-for-analysts-and-data-scientists/



        往期精彩回顧





        獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:

        https://t.zsxq.com/662nyZF

        本站qq群1003271085。

        加入微信群請掃碼進(jìn)群(如果是博士或者準(zhǔn)備讀博士請說明):

        瀏覽 41
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            日本欧美一区二区三区人妻 | 深夜办公室老板揉我胸摸下边 | 四色永久网址在线观看 | 日韩乱色精品一区二区 | 国产欧美在线播放 | 三上悠亚番号在线观看 | 深夜福利免费 | 国产精品免费看久久久8精臀A | 四川老妇女乱hd | 花蒂调教-东宫禁脔h调教-深 |