開源教程《Joyful-Pandas》發佈(數據分析必讀)


本項目從Pandas基礎、數據分析方法、數據處理類型及動手實踐四個模塊,對Pandas進行系統性學習。同時,針對內容設計了大量的練習及案例,理論結合實踐,鞏固數據處理分析能力。


開源初衷

在使用Pandas之前,幾乎所有的大型表格處理問題都是用xlrd/xlwt和python循環實現,雖然這已經幾乎能完成一切的需求,但其缺點也顯而易見,其一就是速度問題,其二就是代碼的複用性幾乎為0。


曾經也嘗試過去零星地學Pandas,但不得不說這個包實在太過龐大,每次使用總覺得盲人摸象,每個函數的參數也很多,學習的路線並不是十分平緩。如果你剛剛手上使用Pandas,那麼在碎片的學習過程中,報錯是常常發生的事,並且很難修(因為不理解內部的操作),即使修好了下次又不會,令人有些沮喪。


2019年秋季,筆者偶然接觸到了Theodore Petrou所著的《Pandas Cookbook》。快速地學習了一遍後,發現之前很多搞不清的概念得到了較好的解答。


之後,筆者又逐步地對著官方的User Guide一字一句查看,通讀後建立了大的一些宏觀概念。這是一個非常重要的臺階,官方的教程總是會告訴你重點在哪裡。


經過了一段時間的思考,結合《Python for Data Analysis》(作者:Pandas之父)、《Pandas Cookbook》和官方的User Guide,按照自己的思路編寫了一套關於Pandas的教程,完整梳理Pandas的主線內容。


本著杜絕淺嘗輒止的理念,本教程涉及了每個部分的核心概念和函數。最後,希望達到“所寫所得即所想”的境界,這大概需要更多的實踐,也是筆者努力實現的目標方向。


關於項目的名字,筆者在原先使用Pandas時非常的痛苦(Painful),那現在是時候轉變為“Joyful-Pandas”了!


開源內容

Joyful-Pandas共有11個章節,分成了4個模塊,涵蓋了Pandas基礎內容,數據處理過程中常用的數據類型,及在處理過程中涉及到的操作。具體目錄詳情如下:


開源教程《Joyful-Pandas》發佈(數據分析必讀)


模塊1 Pandas基礎(第1章)

拿到數據後必然先要讀取,分析完了數據必然是要保存;讀取數據之後,我們面對了怎樣的對象(Series? or Dataframe?)是第一重要的課題,因此瞭解序列和數據框的常規操作及其組件(component)便是必須涉及的內容。

開源教程《Joyful-Pandas》發佈(數據分析必讀)


模塊2 數據分析方法(第2-5章)

對於一個Series或DataFrame而言,Pandas存在以下四種操作:

  • 索引:如果一個操作使得它的元素信息減少了,那就對應了索引;
  • 分組:數據被分組,從組內提取了關鍵的信息,使得數據信息被充分地使用;
  • 變形:數據呈現結構或形態上的變化,使得我們更容易地能夠地進一步處理數據;
  • 合併:如果一個操作使得原本不屬於這個數據框的信息被加入了進來,那往往是涉及到了合併操作。


筆者從數據信息增減的角度出發,將四類操作拆解成了3個板塊,分別對應了本項目第2-5章的內容,串聯了官方文檔關於數據框操作的全部內容,幫助學習者系統梳理。

開源教程《Joyful-Pandas》發佈(數據分析必讀)


模塊3 數據處理類型(第6-9章)

對序列和數據框這兩種容器,Pandas基礎對其的結構有了初步理解,而四種操作熟悉了所有相關操作,那麼下面就要關心其中的數據類型。


其中涉及來四類特殊的數據類型:

  • 缺失型數據
  • 文本型數據
  • 分類型數據
  • 時間序列型數據


四種數據類型,分別對應了6-9章的內容。同時,在缺失型數據和文本型數據中,詳細涉及Pandas1.0版本新的Nullable和string數據類型,這也是從Pandas 0.x升級後具有最大改動的方面。

開源教程《Joyful-Pandas》發佈(數據分析必讀)


模塊4 動手實踐(第10章)

最終,教程1-9章的最後都會加入兩個練習題幫助讀者鞏固本章所學,每一道題都有多個小問,難度逐個上升,與知識點緊密結合。同時在第10章中會添加若干難度不一的綜合問題,目前已添加兩個經典案例,供大家學習實踐。

開源教程《Joyful-Pandas》發佈(數據分析必讀)

開源教程《Joyful-Pandas》發佈(數據分析必讀)

最後,所有的練習都提供了參考答案,保證了完備性。


寫到最後

除了教程主體和練習內容,每一章還加入了問題部分。每個章節設置3-8個問題,問題的內容包含了對知識點的細化認識、對複雜知識點的梳理、對某個函數或Pandas對象設計的思考等,如果在完成練習的基礎上認真思考了這些問題,那麼相信你對Pandas的掌握程度一定會再上一層樓,最後衷心的希望你能快樂的學習Pandas,體驗用Pandas進行數據處理和分析的樂趣。

開源地址

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


分享到:


相關文章: