歷時兩年,Datawhale開源項目“熊貓書”重磅出版!(文末贈送福利)
“告別痛苦,快樂學習pandas”是Datawhale社區(qū)和耿遠昊發(fā)起“Joyful pandas”開源項目的初衷。歷經(jīng)兩年的精心打磨,它終于要以熊貓書《pandas數(shù)據(jù)處理與分析》新面貌與大家見面啦。

▲ 點擊圖片購書5折
本書作者耿遠昊正在威斯康星大學麥迪遜分校統(tǒng)計學攻讀碩士學位。他是Datawhale開源社區(qū)成員,“Joyful Pandas”開源項目作者。他也是pandas貢獻者,活躍于pandas開源社區(qū),主要貢獻涉及漏洞修復、功能實現(xiàn)與性能優(yōu)化等方面,對pandas在數(shù)據(jù)處理與分析中的應用有豐富經(jīng)驗。
耿遠昊最初學習pandas時,也經(jīng)歷了一路坎坷。為了幫助更多人入門pandas,Datawhale發(fā)起Joyful Pandas開源項目。耿遠昊將自己的學習經(jīng)驗進行總結并分享,希望更多的人可以快樂學習pandas。
01
Pandas是Python數(shù)據(jù)分析的利器,也是各種數(shù)據(jù)建模的標準工具。pandas作為數(shù)據(jù)分析中的大紅人,被無數(shù)人喜愛,但也讓不少人苦惱無比——好用是非常好用,復雜也是真的復雜啊!
在學習pandas的時候,初學者可能會覺得無從下手:
這個東西的語法怎么那么混亂?
這滿屏幕的setting with copy warning要怎么消除?
為什么寫著寫著就這么多if else了,要怎么解決?
這API多得離譜,函數(shù)看得頭暈!
而且它處理數(shù)據(jù)的速度也沒別人說得這么快呀……
pandas實在是太復雜,方法內容什么的太多了,用起來是真的惱人!
這就像第一次進菜市場,初學者只能茫然四顧,不知道自己要買的菜在哪兒,好不容易看到一個賣胡蘿卜的攤位,買完逛了半天才找到賣雞蛋的。滿頭大汗地把所有菜品買齊,擠出菜市場回頭再看一眼密密麻麻的人群和攤位,想著明天還要再來,便立馬感覺一陣痛苦。
02
耿遠昊對于這種痛苦非常感同身受。
他在華東師范大學讀本科的時候學的是統(tǒng)計學專業(yè),當時不管是作業(yè)還是課程,都有大量的大型表格處理需求。雖然所有的需求幾乎都能用xlrd/xlwt和Python循環(huán)來解決,但也僅僅是能解決而已,因為處理速度很慢,代碼幾乎完全不能復用,每遇到新的任務就要重新寫一遍代碼,然后等它傻跑半天,解決問題效率很低,成本太高。
他也曾嘗試過學習pandas,但是因為學業(yè)繁忙,只能零星地學,效果很差。我們在前面說的那些問題,他也大多遇到過。pandas這個巨大而龐雜的工具包就像一頭立在路邊的大象,他感覺自己和一個盲人沒啥區(qū)別,摸到腿就是腿,摸到鼻子就是鼻子,根本不知道這大象到底長啥樣!
也正是因為函數(shù)多,參數(shù)更多,沒有一條比較清晰的學習路線,他開始只能東一榔頭西一斧子地學,感覺更混亂了。一旦程序報錯,他更加手足無措:因為不知道內部操作而難以修復;而且即使這次修復好了,下一次遇到同樣問題很有可能又忘了怎么解決。
他很是感慨,pandas令人頭痛!
好在事情在2019年的秋天出現(xiàn)了轉機。他偶然接觸到了Theodore Petrou寫的Pandas Cookbook一書,如獲至寶!在快速地學習了一遍之后,他發(fā)現(xiàn)自己之前迷迷糊糊搞不明白的概念似乎變得清晰了許多!這讓他學習pandas的痛苦減少了幾分。
很快,他又找到官方的用戶指南,一字一句地查看,通讀完成后在腦海里建立了主要知識點的宏觀概念。趁熱打鐵,他又拿起了pandas之父Wes McKinney的書Python for Data Analysis繼續(xù)學習,才結束了自己學習pandas的痛苦之旅。
03
雖然他的痛苦之旅結束了,但是還有更多的人將要或者已經(jīng)踏上了這段同樣難受的學習pandas的旅程。經(jīng)過一段時間的思考,他決定自己編寫一套關于pandas的教程,希望為有著相似痛苦體驗的人提供一些幫助,讓pandas的學習和使用變得更輕松。
為了保證教程的正確和權威,同時保證教程的好用和簡單,他結合Python for Data Analysis、Pandas Cookbook和pandas官方用戶指南,按照自己的切身體驗和學習思路,全面、完整地梳理了pandas的主線內容,編寫了一套關于pandas的教程——Joyful Pandas。
這個名字就很能體現(xiàn)他的怨念和愿景:原先學習使用pandas真的是極其痛苦(Painful),現(xiàn)在要結束這種痛苦,是時候使用這個新的教程讓pandas的學習過程變得快樂(Joyful)了!
作為一個快樂學習的教程,肯定不能像蜻蜓點水一樣淺嘗輒止,和霧里看花一樣啥都不說明白,那樣會更痛苦的。根據(jù)官方指南和兩本pandas權威著作,耿遠昊對pandas每個部分的核心概念和函數(shù)都做了重點介紹,并總結了函數(shù)之間的邏輯關系,建立了清晰的數(shù)據(jù)處理宏觀體系,讓人一目了然地就能看明白自己要學哪些內容。
Joyful Pandas教程分為10章,串成了一條非常明顯的學習路線:先學pandas基礎知識,然后學習如何使用索引、分組、變形、合并4個基礎操作,之后學習缺失數(shù)據(jù)、文本數(shù)據(jù)、分類數(shù)據(jù)、時間序列數(shù)據(jù)4類關鍵數(shù)據(jù)。這些知識點是pandas的主線內容,在教程中被清晰地展示出來。跟著這條學習路線走,就能了解pandas的基礎概念與操作,掌握關鍵的數(shù)據(jù)類型,從而在實際使用中達到信手拈來的效果。



▲ 教程內容概覽
當然,想要達到“所寫所得即所想”的地步,實踐是必不可少的,光說不練假把式,只有自己身體力行地去做,才能真正得到快樂的學習體驗。教程里面有不少的練習題,并且附上了解答思路和方法,還有代碼實現(xiàn)也盡數(shù)提供,非常人性化。
2020年“Joyful Pandas”一經(jīng)開源推出,就在pandas領域引起了不小的轟動。很快該課程的有效性得到讀者們的認可,作為作者,耿遠昊常被邀請去高校、企業(yè)組織舉辦講座或直播。這個教程還被pandas官方增選為社區(qū)推薦教程,得到了官方的肯定。

▲ pandas官方推薦教程
他對于開源和分享精神是非常推崇的,一個人可以走得很快,一群人可以走得很遠,他鼓勵我們在學習過程中要多思考、多練習、多總結,同時要多分享、多交流、多協(xié)作,這樣才能夠更好地暢游數(shù)據(jù)科學的世界。
Joyful Pandas教程得到了非常多讀者的喜愛,很多讀者不再滿足于單純的線上教程模式,還希望它能夠有紙質版,可以隨時拿來閱讀。
他肯定要滿足大家的期盼。
04
紙質圖書當然不是直接把教程復制下來印刷就完事了,還需要進行更多的工作。
首先就是pandas版本的升級,為了讓讀者們獲取最新的知識,作者針對最新發(fā)布的pandas1.4.0版本,利用春節(jié)假期和無數(shù)工作日的夜晚,在原本已經(jīng)進入校對環(huán)節(jié),即將與大家見面的圖書版本上,又對全書進行了兩次重大更新。本書是目前pandas版本最新的教程。
因為學習pandas和編寫“Joyful Pandas”教程的經(jīng)驗,他加入了pandas社區(qū)并成為活躍分子,為pandas的1.1.0版本、1.2.0版本、1.3.0版本、1.4.0版本和1.5.0版本貢獻了自己的一份力量,包括文檔描述性錯誤、修復代碼中的bug以及增加函數(shù)的新特性(resample對象的逆向采樣等)。這些豐富的經(jīng)歷,讓他對pandas有了更為深入的理解,并把這種理解提煉成更為簡明清晰的內容新增到圖書之中。
在這樣的背景之下,他對原教程1~10章進行了大量的修訂工作。并且增加了3章的進階實戰(zhàn)內容!分別涵蓋數(shù)據(jù)觀測、特征工程、性能優(yōu)化3個部分。正如前面說的那樣,快樂學習的同時少不了實踐,為了鞏固章節(jié)知識,他又在每個章末尾增加了恰到好處的習題。
他和編輯長時間、多次對圖書稿件進行修改,最終稿也終于定下來,圖書馬上就能與我們見面了。
圖書里面有著上千段短小精悍的代碼,輸入輸出成對出現(xiàn),非常直觀地展示了當前知識點的作用,我們一眼就能看清楚。

▲ 短小精悍的代碼示例
對于關鍵的內容,或者需要補充和深入解讀的部分,書中都進行了注解。

▲ “注解”示例
在章節(jié)內容初步學習完之后,緊跟著的是練一練欄目,我們能夠把剛學的知識點做一個簡單快速的回顧。

▲ “練一練”示例
加上新增的習題內容,從整體上連成一條線,把章節(jié)內容串在一起,從看到學,從理解到實踐,達到融會貫通的效果。

▲ “習題”示例
當然,只出題不給答案是耍流氓。書中所有的練一練、習題的解答和代碼實現(xiàn),都有配套的資源,直接在異步社區(qū)《pandas數(shù)據(jù)處理與分析》圖書頁面就能獲取,或者在GitHub上“datawhalechina/joyful-pandas”項目中下載。
他一直貫徹著“快樂學習”的理念,所以在寫書的同時也關注著讀者的定位——讀者不需要熟悉數(shù)據(jù)科學或者數(shù)據(jù)分析,甚至不需要熟練使用Python,只要具備基本的語法知識就好了!完全的零基礎可用!當然,對pandas有一定的基礎,并且想要系統(tǒng)學習數(shù)據(jù)處理與分析方法的讀者,也能從中獲益,鞏固和拓展自己的相關知識。
成書之后,可以預見的是會有更多的人告別痛苦的pandas學習,轉而投入快樂學習pandas的懷抱。
05
pandas的知識體系對新人來說過于龐雜,學習成本和難度極大,盡管有官方指南和不少權威圖書,但它們可能并不適合初學者。
耿遠昊以自己的親身體驗出發(fā)而寫的《pandas數(shù)據(jù)處理與分析》,其實就是許多初學者想要的:對龐雜的pandas知識體系進行剖析和梳理,找出一條由淺入深的學習路線,找出關鍵的函數(shù)方法,通過理論和實踐的有效結合,幫助自己輕松地學習pandas。
很多東西只有以相似的視角,才能得到感同身受的內容,學習是如此,寫書同樣是如此。
文章編輯:沙魚 審校:桐希,劉雅思
參考來源:
[1] 耿遠昊.pandas數(shù)據(jù)處理與分析.[M].北京:人民郵電出版社,2022.
[2] datawhalechina/joyful-pandas: pandas中文教程..
[3] Community tutorials — pandas
—END—
今天我們?yōu)榇蠹姨峁?個名額,贈送這本書給大家!中獎的朋友請記得留下聯(lián)系方式和地址!歡迎大家掃碼參與!

分享
收藏
點贊
在看

