<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          聊聊Pandas的前世今生

          共 6629字,需瀏覽 14分鐘

           ·

          2021-06-11 11:29

          ↑↑↑關(guān)注后"星標(biāo)"簡說Python

                   
                        
          人人都可以簡單入門Python、爬蟲、數(shù)據(jù)分析
           簡說Python推薦 
          來源:Python大數(shù)據(jù)分析
          作者:朱衛(wèi)軍

          本文將從Python生態(tài)、Pandas歷史背景、Pandas核心語法、Pandas學(xué)習(xí)資源四個方面去聊一聊Pandas,期望能帶給大家一點啟發(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,其實這是“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ù)實現(xiàn),輸出通過to_*函數(shù)實現(xiàn)。

          image
          image

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

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

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

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

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

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

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

          5. 創(chuàng)建新列

          有時需要通過函數(shù)轉(zhuǎn)化舊列創(chuàng)建一個新的字段列,pandas也能輕而易舉的實現(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ù),能實現(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)然這本書也存在知識點過于零碎,翻譯不到位的問題,但整體來說是本好書。

          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ù)據(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


          --END--


          贈書圖書

          圖書介紹給本文點贊("在看"不作要求),掃描下方二維碼,添加老表的微信。把點贊截圖發(fā)給我,我會發(fā)送抽獎碼給大家,時間截止至06月18號 20:00。抽三位讀者朋友,可獲得Python編程完全自學(xué)教程贈書一本。


          掃碼即可加我微信

          老表朋友圈經(jīng)常有贈書/紅包福利活動

                  

                             
          學(xué)習(xí)更多:
          整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說不知道該從哪開始,實戰(zhàn)哪里找了

          優(yōu)秀的讀者都知道,“點贊”傳統(tǒng)美德不能丟 

          瀏覽 62
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美乱码人妻蜜桃视频 | 手机免费观看AV | 亚洲色b 亚洲色视 | 天天射一射 | 女人天堂AV|