暑期回家學(xué)車的時(shí)候,我為了保持自己的學(xué)習(xí)狀態(tài),于是去看《利用Python進(jìn)行數(shù)據(jù)分析》。為了能夠運(yùn)行書上的代碼,我去GitHub上下載它們隨書數(shù)據(jù),不經(jīng)意間發(fā)現(xiàn)這本書要在今年10月份出第二版了,圖書地址是http://shop.oreilly.com/product/0636920050896.do。感謝搜索引擎,我下載到了early bird version,等出正式版的時(shí)候,我再去美亞買.
第一版發(fā)行的時(shí)候是2012年,差不多5年前了,這期間Python的開(kāi)源數(shù)據(jù)分析庫(kù)發(fā)展勢(shì)頭迅猛, 作者開(kāi)發(fā)的pandas也增加了許多新的功能。為了適應(yīng)這種變化,他對(duì)第一版進(jìn)行了大刀闊斧的修改,于是就有了第二版。
作者簡(jiǎn)介
Wes McKinney 資深數(shù)據(jù)分析專家,對(duì)各種Python庫(kù)(包括NumPy、pandas、matplotlib以及IPython等)等都有深入研究,并在大量的實(shí)踐中積累了豐富的經(jīng)驗(yàn)。撰寫了大量與Python數(shù)據(jù)分析相關(guān)的經(jīng)典文章,被各大技術(shù)社區(qū)爭(zhēng)相轉(zhuǎn)載,是Python和開(kāi)源技術(shù)社區(qū)公認(rèn)的權(quán)威人物之一。開(kāi)發(fā)了用于數(shù)據(jù)分析的著名開(kāi)源Python庫(kù)——pandas,廣獲用戶好評(píng)。在創(chuàng)建Lambda Foundry(一家致力于企業(yè)數(shù)據(jù)分析的公司)之前,他曾是AQR Capital Management的定量分析師
第一版的評(píng)價(jià)
《利用Python進(jìn)行數(shù)據(jù)分析》中文版第一版由機(jī)械工業(yè)出版社發(fā)行在2013年,到現(xiàn)在已經(jīng)4年過(guò)去。豆瓣評(píng)分8.5分,京東好評(píng)率98%,摘取一段豆瓣書評(píng),
總的來(lái)說(shuō)Python提供了很多方便,但是這種方便還是需要付出一定的學(xué)習(xí)成本的。使用Pandas可以把Python基本當(dāng)作R用 用NumPy和SymPy還有SciPy把Python當(dāng)作Matlab用。但是目前所有這些模塊都還在開(kāi)發(fā)階段所以有很多問(wèn)題需要解決,用戶體驗(yàn)并不是非常友好,尤其是數(shù)據(jù)類型和能否改變數(shù)據(jù)值等等細(xì)節(jié)會(huì)讓人特別累
四年過(guò)去了,書評(píng)說(shuō)的問(wèn)題大部分都被解決了。但是我個(gè)人建議,最好是一邊學(xué)習(xí)概率論和統(tǒng)計(jì)分析的同時(shí)學(xué)習(xí)R和Python,畢竟工具都是類似的,解決問(wèn)題的思路或許更重要。
主要變動(dòng)
所有代碼(包括Python教程)都升級(jí)到了Python3.6。 第一版用的是Python2.7
更新Python安裝介紹,改用Anaconda以及其他所需包,之前是Enthought Python Distribution
更新為2017年釋放的pandas 1.0
新增了“pandas高級(jí)應(yīng)用”,之前只有“Numpy高級(jí)應(yīng)用”
簡(jiǎn)單介紹了如何使用statsmodel和scikit-learn
全書框架:
整本書大框架沒(méi)有太多修改, 部分章節(jié)與時(shí)俱進(jìn)的被淘汰了,部分章節(jié)由于內(nèi)容增加被拆分了。
前言: 緬懷John D. Hunter, 他開(kāi)發(fā)了matplotlib,建立了良好的Python社區(qū)。
PS: 早鳥(niǎo)版還沒(méi)有寫致謝呢。第一章: 準(zhǔn)備工作,介紹為什么使用Python,以及如何在不同機(jī)器上安裝Python。
第二章:Python語(yǔ)法基礎(chǔ): IPython和Jupyter notebook. 這一節(jié)介紹Python的基本語(yǔ)法(原本是放在附錄)和Ipython基本用法(高級(jí)用法被放在附錄了)
第三章: 內(nèi)置數(shù)據(jù)結(jié)構(gòu),函數(shù)和文件系統(tǒng)
第四章: Numpy基礎(chǔ)
第五章: pandas起步
第六章: 數(shù)據(jù)加載,存儲(chǔ)和文件格式
第七章: 數(shù)據(jù)清洗和準(zhǔn)備
第八章: 數(shù)據(jù)規(guī)整化:Join(連接), combine(合并), reshape(重塑)
第九章: 繪圖和可視化
第十章: 數(shù)據(jù)聚合和分組運(yùn)算
第十一章:時(shí)間序列
第十二章: Numpy高級(jí)應(yīng)用
放棄第一版的引言一章,對(duì)于初學(xué)者這是一個(gè)巨大的改進(jìn),我當(dāng)年沒(méi)基礎(chǔ)一看就懵了。在介紹Numpy之前放了Python語(yǔ)法基礎(chǔ),更加的新手友好了。 第七章和第八章是由之前的一章拆分出來(lái)。
我的感想
僅僅從目錄上看,這一版本其實(shí)對(duì)于初學(xué)者而言,其實(shí)是更加友好的,當(dāng)然目前是英文,對(duì)于英文不好的同學(xué)不太友好。不過(guò)如果你想從事數(shù)據(jù)分析,那么英文水平必然要提高,不然等別人翻譯官方文檔,新的特性也就過(guò)時(shí)了。
糾結(jié)Python2和Python3的初學(xué)者也不需要太糾結(jié),如果你要進(jìn)行數(shù)據(jù)分析,你要用的Python包都已經(jīng)有python3版本,也就是說(shuō)整個(gè)Python社區(qū)正在慢慢向Python3遷移。