Numpy:來儲存和處理大型矩陣,比Python自身的巢狀列表(nested list structure)結構要高效的多,本身是由C語言開發。這個是很基礎的擴充套件,其餘的擴充套件都是以此為基礎。資料結構為ndarray.
快速入門:Quickstart tutorial
Pandas:基於NumPy 的一種工具,該工具是為了解決資料分析任務而建立的。Pandas 納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。資料結構有一維的Series,二維的DataFrame(類似於Excel或者SQL中的表,如果深入學習,會發現Pandas和SQL相似的地方很多,例如merge函式),三維的Panel(Pan(el) + da(ta) + s,知道名字的由來了吧)。學習Pandas你要掌握的是:
- 彙總和計算描述統計,處理缺失資料 ,層次化索引
- 清理、轉換、合併、重塑、GroupBy技術
- 日期和時間資料型別及工具(日期處理方便地飛起)
快速入門:10 Minutes to pandas
Matplotlib:Python中最著名的繪圖系統,很多其他的繪圖例如seaborn(針對pandas繪圖而來)也是由其封裝而成。創世人John Hunter於2012年離世。這個繪圖系統操作起來很複雜,和R的ggplot,lattice繪圖相比顯得望而卻步,這也是為什麼我個人不丟棄R的原因,雖然呼叫
plt.style.use("ggplot")
繪製的圖形可以大致按照ggplot的顏色顯示,但是還是感覺很雞肋。但是matplotlib的複雜給其帶來了很強的定製性。其具有物件導向的方式及Pyplot的經典高層封裝。
需要掌握的是:
- 散點圖,折線圖,條形圖,直方圖,餅狀圖,箱形圖的繪製。
- 繪圖的三大系統:pyplot,pylab(不推薦),物件導向
- 座標軸的調整,新增文字註釋,區域填充,及特殊圖形patches的使用
- 金融的同學注意的是:可以直接呼叫Yahoo財經資料繪圖(真。。。)
Pyplot快速入門:Pyplot tutorial
Scipy:方便、易於使用、專為科學和工程設計的Python工具包.它包括統計,優化,整合,線性代數模組,傅立葉變換,訊號和影像處理,常微分方程求解器等等。基本可以代替Matlab,但是使用的話和資料處理的關係不大,數學系,或者工程系相對用的多一些。(略)
近期發現有個statsmodel可以補充scipy.stats,時間序列支援完美
Scikit-learn:關注機器學習的同學可以關注一下,很火的開源機器學習工具,這個方面很多例如去年年末Google開源的TensorFlow,或者Theano,caffe(賈揚清),Keras等等,這是另外方面的問題。
主頁:An introduction to machine learning with scikit-learn
圖書: Pandas的創始者:利用Python進行資料分析 (豆瓣)(力薦)
- 教材的集合:Scipy Lecture Notes(寫的非常棒!遺憾缺少Pandas)
- 提升自己:機器學習實戰 (豆瓣)
視訊:
- Numpy入門: http://www.jikexueyuan.com/course/1537.html
- Pandas視訊講解:pandas課程介紹
3. Matplotlib講解:課程簡介和環境搭建
4. Scipy入門:http://www.jikexueyuan.com/course/1519.html