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>

        全面介紹下 Pandas

        共 4181字,需瀏覽 9分鐘

         ·

        2021-06-07 20:38

        本文將從Python生態(tài)、Pandas歷史背景、Pandas核心語法、Pandas學(xué)習(xí)資源四個方面去聊一聊Pandas,期望能帶給大家一點(diǎn)啟發(fā)。

        一、Python生態(tài)里的Pandas

        五月份TIOBE編程語言排行榜,Python追上Java又回到第二的位置。Python如此受歡迎一方面得益于它崇尚簡潔的編程哲學(xué),另一方面是因為強(qiáng)大的第三方庫生態(tài)。

        要說殺手級的庫,很難排出個先后順序,因為python的明星庫非常多,在各個領(lǐng)域都算得上出類拔萃。

        比如web框架-Django、深度學(xué)習(xí)框架-TensorFlow、自然語言處理框架-NLTK、圖像處理庫-PIL、爬蟲庫-requests、圖形界面框架-PyQt、可視化庫-Matplotlib、科學(xué)計算庫-Numpy、數(shù)據(jù)分析庫-Pandas......

        上面大部分庫我都用過,用的最多也最順手的是Pandas,可以說這是一個生態(tài)上最完整、功能上最強(qiáng)大、體驗上最便捷的數(shù)據(jù)分析庫,稱為編程界的Excel也不為過。

        Pandas在Python數(shù)據(jù)科學(xué)鏈條中起著關(guān)鍵作用,處理數(shù)據(jù)十分方便,且連接Python與其它核心庫。

        二、十項全能的Pandas

        Pandas誕生于2008年,它的開發(fā)者是Wes McKinney,一個量化金融分析工程師。

        因為疲于應(yīng)付繁雜的財務(wù)數(shù)據(jù),Wes McKinney便自學(xué)Python,并開發(fā)了Pandas。

        大神就是這么任性,沒有,就創(chuàng)造。

        為什么叫作Pandas,其實(shí)這是“Python data analysis”的簡寫,同時也衍生自計量經(jīng)濟(jì)學(xué)術(shù)語“panel data”(面板數(shù)據(jù))。

        所以說Pandas的誕生是為了分析金融財務(wù)數(shù)據(jù),當(dāng)然現(xiàn)在它已經(jīng)應(yīng)用在各個領(lǐng)域了。

        ?

        2008: Pandas正式開發(fā)并發(fā)布 

        2009:Pandas成為開源項目 

        2012: 《利用Python進(jìn)行數(shù)據(jù)分析》出版 

        2015: Pandas 成為 NumFOCUS 贊助的項目

        ?

        Pandas能做什么呢?

        它可以幫助你任意探索數(shù)據(jù),對數(shù)據(jù)進(jìn)行讀取、導(dǎo)入、導(dǎo)出、連接、合并、分組、插入、拆分、透視、索引、切分、轉(zhuǎn)換等,以及可視化展示、復(fù)雜統(tǒng)計、數(shù)據(jù)庫交互、web爬取等。

        同時Pandas還可以使用復(fù)雜的自定義函數(shù)處理數(shù)據(jù),并與numpy、matplotlib、sklearn、pyspark、sklearn等眾多科學(xué)計算庫交互。

        Pandas有一個偉大的目標(biāo),即成為任何語言中可用的最強(qiáng)大、最靈活的開源數(shù)據(jù)分析工具。

        讓我們期待下。

        三、Pandas核心語法

        1.  數(shù)據(jù)類型

        Pandas的基本數(shù)據(jù)類型是dataframe和series兩種,也就是行和列的形式,dataframe是多行多列,series是單列多行。

        如果在jupyter notebook里面使用pandas,那么數(shù)據(jù)展示的形式像excel表一樣,有行字段和列字段,還有值。

        2. 讀取數(shù)據(jù)

        pandas支持讀取和輸出多種數(shù)據(jù)類型,包括但不限于csv、txt、xlsx、json、html、sql、parquet、sas、spss、stata、hdf5

        讀取一般通過read_*函數(shù)實(shí)現(xiàn),輸出通過to_*函數(shù)實(shí)現(xiàn)。

        image
        image

        3. 選擇數(shù)據(jù)子集

        導(dǎo)入數(shù)據(jù)后,一般要對數(shù)據(jù)進(jìn)行清洗,我們會選擇部分?jǐn)?shù)據(jù)使用,也就是子集。

        在pandas中選擇數(shù)據(jù)子集非常簡單,通過篩選行和列字段的值實(shí)現(xiàn)。

        具體實(shí)現(xiàn)如下:

        4. 數(shù)據(jù)可視化

        不要以為pandas只是個數(shù)據(jù)處理工具,它還可以幫助你做可視化圖表,而且能高度集成matplotlib。

        你可以用pandas的plot方法繪制散點(diǎn)圖、柱狀圖、折線圖等各種主流圖表。

        5. 創(chuàng)建新列

        有時需要通過函數(shù)轉(zhuǎn)化舊列創(chuàng)建一個新的字段列,pandas也能輕而易舉的實(shí)現(xiàn)

        image

        6. 分組計算

        在sql中會用到group by這個方法,用來對某個或多個列進(jìn)行分組,計算其他列的統(tǒng)計值。

        pandas也有這樣的功能,而且和sql的用法類似。

        image

        7. 數(shù)據(jù)合并

        數(shù)據(jù)處理中經(jīng)常會遇到將多個表合并成一個表的情況,很多人會打開多個excel表,然后手動復(fù)制粘貼,這樣就很低效。

        pandas提供了merge、join、concat等方法用來合并或連接多張表。

        小結(jié)

        pandas還有數(shù)以千計的強(qiáng)大函數(shù),能實(shí)現(xiàn)各種騷操作。

        python也還有數(shù)不勝數(shù)的寶藏庫,等著大家去探索

        三、Pandas學(xué)習(xí)資源

        如果說學(xué)習(xí)Pandas最好的教程是什么,那毫無疑問是官方文檔,從小白到高手,它都給你安排的妥妥的,這個后面詳細(xì)介紹。

        下面我會從入門、進(jìn)階、練習(xí)四個三面給你們推薦相應(yīng)的教程和資源。

        1. 入門教程

        十分鐘入門Pandas(英文版)[1]

        這是Pandas官網(wǎng)專門為新手寫的入門引導(dǎo),大概就幾千字,包括對Pandas的簡要介紹,和一些基本的功能函數(shù)。

        主要的內(nèi)容有:數(shù)據(jù)的創(chuàng)建、查看、篩選、拼接、連接、分組、變形、可視化等等。

        而且這個小冊子包含了很多代碼示例,如果你能完整過一遍,入門Pandas基本沒啥問題。

        中文版似乎也有,但翻譯的準(zhǔn)確性大家自己識別斟酌下。

        十分鐘入門 Pandas | Pandas 中文[2]

        利用Pandas進(jìn)行數(shù)據(jù)分析[3]

        這本書不用了說了,可能是你入門python數(shù)據(jù)分析的第一本書,它的作者是Pandas庫的核心開發(fā)者,也就是說這本書相當(dāng)于是Pandas的官方出版教程。

        image

        為什么它適合入門pandas,因為整本書的編排是從數(shù)據(jù)分析的角度切入的,由淺入深將pandas對數(shù)據(jù)的處理講的很透徹。

        當(dāng)然這本書也存在知識點(diǎn)過于零碎,翻譯不到位的問題,但整體來說是本好書。

        w3schools pandas tutorial[4]

        w3school的pandas文檔, 邏輯比較清晰,也是從數(shù)據(jù)分析角度去講pandas。

        image

        Learn Pandas Tutorials[5]

        數(shù)據(jù)科學(xué)平臺kaggle提供的pandas入門教程,共六大節(jié)涵蓋了pandas數(shù)據(jù)處理各種方法。

        image

        joyful-pandas[6]

        國內(nèi)小伙伴寫的Pandas筆記,挺詳細(xì)的,大家可以去下載項目里的notebook,放到自己電腦里練習(xí)。

        2. 進(jìn)階教程

        pandas用戶指南[7]

        這是pandas官網(wǎng)的教程,非常詳細(xì),主要從數(shù)據(jù)處理的角度介紹相應(yīng)的pandas函數(shù),方便用戶查閱。

        如果你的英文還不錯,也喜歡閱讀技術(shù)文檔,我是建議花時間把這份指南看一遍,配合練習(xí)。

        我把整個pandas文檔下載下來,發(fā)現(xiàn)足足有3000多頁。

        pandas api檢索[8]

        官網(wǎng)的pandas api集合,也就是pandas所有函數(shù)方法的使用規(guī)則,是字典式的教程,建議多查查。

        pandas-cookbook[9]

        這是一個開源文檔,作者不光介紹了Pandas的基本語法,還給出了大量的數(shù)據(jù)案例,讓你在分析數(shù)據(jù)的過程中熟悉pandas各種操作。

        Python Data Science Handbook[10]

        數(shù)據(jù)科學(xué)書冊,不光有pandas,還有ipython、numpy、matplotlib、sklearn,這些都是深入學(xué)習(xí)pandas不可缺少的工具。

        3. 練習(xí)資源

        Pandas練習(xí)集[11]

        github上一個練習(xí)項目,針對pandas每個功能都有對應(yīng)的真實(shí)數(shù)據(jù)練習(xí)。

        101個Pandas練習(xí)[12]

        一位國外博主總結(jié)的100多個pandas練習(xí)題,非常全面。

        datacamp[13]

        數(shù)據(jù)科學(xué)教程網(wǎng)站,里面有大量pandas的練習(xí)題,還提供了詳細(xì)的速查表。

        小結(jié)

        pandas的教程主要還是以英文為主,國內(nèi)翻譯的質(zhì)量參差不齊,還是建議你在入門后多去看英文文檔,這是第一手資料,也是最靠譜的。

        Reference

        [1]

        十分鐘入門Pandas(英文版):https://pandas.pydata.org/docs/user_guide/10min.html

        [2]

        十分鐘入門 Pandas | Pandas 中文:http://www.pypandas.cn/docs/getting_started/10min.html

        [3]

        利用Pandas進(jìn)行數(shù)據(jù)分析:https://github.com/wesm/pydata-book

        [4]

        w3schools pandas tutorial:https://www.w3schools.com/python/pandas/default.asp

        [5]

        Learn Pandas Tutorials:https://www.kaggle.com/learn/pandas

        [6]

        joyful-pandas:https://github.com/datawhalechina/joyful-pandas

        [7]

        pandas用戶指南:https://pandas.pydata.org/docs/user_guide/index.html#user-guide

        [8]

        pandas api檢索:https://pandas.pydata.org/docs/reference/index.html#api

        [9]

        pandas-cookbook:https://github.com/jvns/pandas-cookbook

        [10]

        Python Data Science Handbook:https://jakevdp.github.io/PythonDataScienceHandbook/

        [11]

        Pandas練習(xí)集:https://github.com/guipsamora/pandas_exercises

        [12]

        101個Pandas練習(xí):https://www.machinelearningplus.com/python/101-pandas-exercises-python/

        [13]

        datacamp:https://www.datacamp.com/community/tutorials

        瀏覽 92
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        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>
            国产一线天在线观看 | 黑白日本mv和欧美mv对比 | 操逼免费在线视频 | 欧美福利在线 | 一本大道AV伊人久久综合蜜芽 | 精品少妇无码视频 | 国产成人精品午夜2025 | 疯狂做爰呻吟声 | 好深好湿好硬顶到了好爽小喜 | 非洲黑人黄色片 |