line_profiler:(代碼性能分析)html
使用方法:連接git
codecs:(Python內置的編碼庫)github
數據分析與挖掘領域: 引自博客:這裏api
由於他有不少這個領域相關的庫能夠用,並且很好用,好比Numpy、SciPy、Matploglib、Pandas、ScikitLearn、Keras、Gensim等,下面簡單介紹下:
1)Numpy,它給Python提供了真正的數組功能,包括多維數組,以及對數據進行快速處理的函數,Numpy仍是更多高級擴展庫的依賴庫,好比後續的Scipy、Matplotlib、Pandas等,都同樣;
2)Scipy,他讓Python成了半個MATLAB,Scipy提供了真正的矩陣類型,及其大量基於矩陣運算的對象和函數,他包括的功能包括最優化、線性代數、積分、插值、你和、特殊函數、快速傅里葉變換、信號處理與圖像處理、常微分求解方程和其餘科學與工程中經常使用的計算;Scipy依賴於Numpy;
3)Matplotlib,對於Python來講,Matplotlib是最著名的繪圖庫,主要是二維繪圖,固然,也能夠支持一些簡答的三圍繪圖;
4)Pandas,他是Python下最強大的數據分析和探索工具,沒有之一。他包含的高級的數據結構和精巧的工具,使得在Python中處理數據很是快速和簡單,Pandas構建在NumPy之上,他使得以Numpy爲中心的應用很容易使用,Pandas的名稱來自於面板數據(Panel Data)和Python數據分析(Data Analysis),他最初被做爲金融數據分析工具而開發出來,由AQR Capital Management公司於2008年4月開發出來,並與2009年末開源;
他的功能很是強大,支持相似於SQL的數據增刪改查,而且帶有豐富的數據處理函數,支持時間序列分析,支持靈活處理確實數據等。Pandas其實很複雜, 夠單獨寫一本書,若是對他有興趣能夠看看Pandas主要做者之一 WesMcKinney寫的《利用Python進行數據分析》一書。
5)StatModels,Pandas着眼於數據的讀取、處理和探索,而StatsModels則更加註重數據的統計建模和分析,他使得Python有了R語言的味道。StatModels支持與Pandas的數據交互,所以,他與Pandas結合,成爲了Python下強大的數據挖掘組合;
6)Scikit-Learn,這是一個和機器學習有關的庫,他是Python下強大的及其學習工具包,他提供了完善的及其學習工具箱,包括:數據預處理、分類、迴歸、聚類、預測和模型分析等。他依賴於NumPy、SciPy、Matplotlib等;
7)Keras,他是用來搭建神經網絡的,他並不是簡單的神經網絡庫,而是一個基於Theano的強大的深度學習庫,利用它不單單能夠搭建普通的神經網絡,還能夠搭建各類深度學習模型,如自編碼器、循環神經網絡、遞歸神經網絡、卷積神經網絡等。因爲它是基於Theano的,速度至關快。
8)Theano,他也是一個Python庫,他是由深度學習專家YoshuaBengio帶領的實驗室開發出來的,用來定義、優化和高效地解決多維數組對應數學表達式的模擬估計問題。他具備高效地實現符號分解、高度優化的速度、和穩定性等特色,最重要的是還實現了GPU加速,是的密集型數據的處理速度是CPU的十倍;
9)Gensim,topic modelling of humans,他主要用來處理語言方面的任務,如文本類似度計算、LDA、Word2Vec等,這些領域的任務每每須要比較多的背景知識,一般的狀況是:研究這方面的讀者已經不須要我再多說什麼,而不研究這方面的讀者,在這裏也說不清楚。