可以直接查看此回答:

Python 常用的標準庫以及第三方庫有哪些??

www.zhihu.com圖標

下面直接列舉一些目前比較火而且十分實用的庫吧!

核心庫和統計

1. NumPy(提交:17911,貢獻者:641)

首先介紹科學應用方面的庫,其中NumPy是不可忽視的選擇。NumPy用於處理大型多維數組和矩陣,並通過大量的高級數學函數和實現方法進行各種操作。在過去一年裡NumPy進行了大量改進。除了bug修復和兼容性問題之外,還涉及到樣式可能性,即NumPy對象的格式化列印。

推薦資源:

NumPy 數值計算基礎課程_機器學習 - 實驗樓?

www.shiyanlou.com圖標

2. SciPy(提交:19150,貢獻者:608)

科學計算方面的另一個核心庫是SciPy。SciPy基於NumPy因此擴展了NumPy的功能。SciPy的主要數據結構是由Numpy實現的多維數組。當中包括許多解決線性代數、概率論、積分等任務的工具。SciPy的主要改進包括,持續集成到不同操作系統,以及添加的新功能和新方法。此外,還封裝了許多新的BLAS和LAPACK函數。

推薦資源:

SciPy 科學計算基礎課程_機器學習 - 實驗樓?

www.shiyanlou.com圖標

3. Pandas(提交:17144,貢獻者:1165)

Pandas是一個Python庫,提供高級數據結構和各種分析工具,主要特點是能夠將相當複雜的數據操作轉換為一兩條命令。Pandas包含許多用於分組,過濾和組合數據的內置方法,以及時間序列功能。Pandas庫已推出多個新版本其中包括數百個新功能、增強功能、bug修復和API改進。這些改進包括分類和排序數據方面,更適合應用方法的輸出,以及執行自定義操作。

推薦資源:

Pandas 數據處理基礎課程_機器學習 - 實驗樓?

www.shiyanlou.com圖標

4. StatsModels(提交:10067,貢獻者:153)

Statsmodels是一個Python模塊,用於統計模型估計、執行統計測試等統計數據分析。在它的幫助下,你可以使用機器學習方法,進行各種繪圖嘗試。Statsmodels在不斷改進。今年加入了時間序列方面的改進和新的計數模型,即廣義泊松、零膨脹模型和負二項。還包括新的多變數方法 ——因子分析、多元方差分析和方差分析中的重複測量。

可視化

5. Matplotlib(提交:25747,貢獻者:725)

Matplotlib是用於創建二維圖表和圖形的低級庫。使用Matplotlib,你可以構建直方圖、散點圖、非笛卡爾坐標圖等圖表。此外,許多熱門的繪圖庫都能與Matplotlib結合使用Matplotlib在顏色、尺寸、字體、圖例等方面都有一定改進。外觀方面包括坐標軸圖例的自動對齊;色彩方面也做出改進,對色盲更加友好。

推薦資源:

Matplotlib 數據繪圖基礎課程?

www.shiyanlou.com圖標

6. Seaborn(提交:2044,貢獻者:83)

Seaborn是基於matplotlib庫更高級別的API。它包含更適合處理圖表的默認設置。此外,還包括時間序列等豐富的可視化圖庫。Seaborn的更新包括bug修復。同時,還包括FacetGrid與PairGrid的兼容性,增強了matplotlib後端交互,並在可視化中添加了參數和選項。

推薦資源:

Seaborn 數據可視化基礎課程?

www.shiyanlou.com圖標

7. Plotly(提交:2906,貢獻者:48)

Plotly能夠讓你輕鬆構建複雜的圖形。Plotly適用於互動式Web應用程序。可視化方面包括等高線圖、三元圖和三維圖。Plotly不斷增加新的圖像和功能,對動畫等方面也提供了支持。

8. Bokeh(提交:16983,貢獻者:294)

Bokeh庫使用JavaScript小部件,在瀏覽器中創建互動式和可縮放的可視化。Bokeh提供了多種圖形集合、樣式,並通過鏈接圖、添加小部件和定義回調等形式增強互動性。Bokeh在互動式功能的進行了改進,比如旋轉分類標籤、小型縮放工具和自定義工具提示欄位的增強。

9. Pydot(提交:169,貢獻者:12)

Pydot用於生成複雜的定向圖和非定向圖。它是用Python編寫的Graphviz介面。使用Pydot能夠顯示圖形結構,這經常用於構建神經網路和基於決策樹的演算法。

機器學習

10. Scikit-learn(提交:22753,貢獻者:1084)

Scikit-learn是基於NumPy和SciPy的Python模塊,並且是處理數據方面的不錯選擇。Scikit-learn為許多機器學習和數據挖掘任務提供演算法,比如聚類、回歸、分類、降維和模型選擇。

Scikit-learn是基於NumPy和SciPy的Python模塊,並且是處理數據方面的不錯選擇。Scikit-learn為許多機器學習和數據挖掘任務,提供演算法,比如聚類、回歸、分類、降維和模型選擇。Scikit-learn已做出了許多改進改進包括交叉驗證、使用多個指標,近鄰取樣和邏輯回歸等訓練方法也有小的改進。主要更新還包括完善常用術語和API元素的術語表,這能幫助用戶熟悉Scikit-learn中的術語和規則。

11. XGBoost / LightGBM / CatBoost(提交:3277/1083/1509,貢獻者:280/79/61)

梯度提升(gradient boosting)是最流行的機器學習演算法之一,這在決策樹模型中是至關重要的,因此我們需要重視XGBoost、LightGBM和CatBoost。這幾個庫都用相同的方式解決常見問題。這些庫能夠更優化、擴展且快速地實現梯度提升,從而它們在數據科學家和Kaggle競爭中備受追捧,其中許多人在這些演算法的幫助下贏得了比賽。

12. Eli5(提交:922,貢獻者:6)

通常機器學習模型預測的結果並不特別清晰,這時就需要用到eli5了。它可以用於可視化和調試機器學習模型,並逐步跟蹤演算法運行情況。同時eli5能為scikit-learn,XGBoost,LightGBM,lightning和sklearn-crfsuite庫提供支持。

深度學習

13. TensorFlow(提交:33339,貢獻者:1469)

TensorFlow是用於深度學習和機器學習的熱門框架,由谷歌大腦開發。TensorFlow能夠用於多個數據集的人工神經網路。TensorFlow的主要應用包括對象識別、語音識別等等。新版本中加入了新的功能。最新的改進包括修復安全漏洞,以及改進TensorFlow和GPU集成,比如能在一臺機器上的多個GPU上運行評估器模型。

推薦資源:

TensorFlow 深度學習基礎課程?

www.shiyanlou.com圖標

14. PyTorch(提交:11306,貢獻者:635)

PyTorch是一個大型框架能通過GPU加速執行tensor計算,創建動態計算圖並自動計算梯度。此外,PyTorch為解決神經網路相關的應用提供了豐富的API。PyTorch基於Torch,它是用C語言實現的開源的深度學習庫。Python API於2017年推出,從此之後該框架,越來越受歡迎,並吸引了大量數據科學家。

推薦資源:

PyTorch 深度學習基礎課程?

www.shiyanlou.com圖標

15. Keras(提交:4539,貢獻者:671)

Keras是用於神經網路的高級庫,可運行與TensorFlow和Theano。現在由於推出新版本,還可以使用CNTK和MxNet作為後端。它簡化了許多任務,並大大減少了代碼數量。但缺點是不適合處理複雜任務。Keras在性能、可用性、文檔即API方面都有改進。新功能包括Conv3DTranspose層、新的MobileNet應用等。

推薦資源:

使用 Keras 預訓練模型實現遷移學習?

www.shiyanlou.com圖標

分散式深度學習

16. Dist-keras / elephas / spark-deep-learning(提交:1125/170/67,貢獻者:5/13/11)

由於越來越多的用例,需要大量的精力和時間深度學習問題變得更為重要。但是,使用Apache Spark之類的分散式計算系統,能夠更容易處理大量數據這又擴展了深度學習的可能性。因此dist-keras、elephas、和spark-deep-learning變得更為普及由於它們有能用於解決相同任務,因此很難從中取捨,這些包能夠讓你在Apache Spark的幫助下,直接通過Keras庫訓練神經網路。Spark-deep-learning還提供了使用Python神經網路創建管道的工具。

自然語言處理

17. NLTK(提交:13041,貢獻者:236)

NLTK是一組庫,是進行自然語言處理的平臺。在NLTK的幫助下,你可以通過多種方式處理和分析文本,對其進行標記和提取信息。NLTK還可用於原型設計和構建研究系統。NLTK的改進包括API和兼容性的小改動,以及CoreNLP的新介面。

18. SpaCy(提交:8623,貢獻者:215)

SpaCy是自然語言處理庫具有出色的示例、API文檔和演示應用。該庫用Cython編寫Cython是C語言在Python的擴展。它支持將近30種語言,提供簡單的深度學習集成,並能確保穩定性和高準確性。SpaCy的另一個強大功能是無需將文檔分解,整體處理整個文檔。

19. Gensim(提交:3603,貢獻者:273)

Gensim是Python庫,用於語義分析、主題建模和矢量空間建模建立在Numpy和Scipy之上。它提供了word2vec等NLP演算法實現。儘管gensim擁有自己的models.wrappers.fasttext實現,但fasttext庫也可用於詞語表示的高效學習。

數據抓取

20. Scrapy(提交:6625,貢獻者:281)

Scrapy可用於創建掃描頁面和收集結構化數據。另外,Scrapy還可以從API中提取數據。由於其可擴展性和便攜性,Scrapy非常好用。今年Scrapy的更新包括代理伺服器升級,以及錯誤通知和問題識別系統。這也為使用scrapy解析機械能元數據設置提供了新的方法。


請從三個方面來看

第一:標準庫

Python 標準庫 - Python 3.7.3 文檔?

docs.python.org

第二:第三方庫

1. Requests. The most famous http library written by kenneth reitz. It』s a must have for every python developer.

2. Scrapy. If you are involved in webscraping then this is a must have library for you. After using this library you won』t use any other.

3. wxPython. A gui toolkit for python. I have primarily used it in place of tkinter. You will really love it.

4. Pillow. A friendly fork of PIL (Python Imaging Library). It is more user friendly than PIL and is a must have for anyone who works with images.

5. SQLAlchemy. A database library. Many love it and many hate it. The choice is yours.

6. BeautifulSoup. I know it』s slow but this xml and html parsing library is very useful for beginners.

7. Twisted. The most important tool for any network application developer. It has a very beautiful api and is used by a lot of famous python developers.

8. NumPy. How can we leave this very important library ? It provides some advance math functionalities to python.

9. SciPy. When we talk about NumPy then we have to talk about scipy. It is a library of algorithms and mathematical tools for python and has caused many scientists to switch from ruby to python.

10. matplotlib. A numerical plotting library. It is very useful for any data scientist or any data analyzer.

11. Pygame. Which developer does not like to play games and develop them ? This library will help you achieve your goal of 2d game development.

12. Pyglet. A 3d animation and game creation engine. This is the engine in which the famous python port of minecraft was made

13. pyQT. A GUI toolkit for python. It is my second choice after wxpython for developing GUI』s for my python scripts.

14. pyGtk. Another python GUI library. It is the same library in which the famous Bittorrent client is created.

15. Scapy. A packet sniffer and analyzer for python made in python.

16. pywin32. A python library which provides some useful methods and classes for interacting with windows.

17. nltk. Natural Language Toolkit – I realize most people won』t be using this one, but it』s generic enough. It is a very useful library if you want to manipulate strings. But it』s capacity is beyond that. Do check it out.

18. nose. A testing framework for python. It is used by millions of python developers. It is a must have if you do test driven development.

19. SymPy. SymPy can do algebraic evaluation, differentiation, expansion, complex numbers, etc. It is contained in a pure Python distribution.

20. IPython. I just can』t stress enough how useful this tool is. It is a python prompt on steroids. It has completion, history, shell capabilities, and a lot more. Make sure that you take a look at it.

第三:awesome Python frameworks, libraries, software and resources

vinta/awesome-python?

github.com圖標

A curated list of awesome Python frameworks, libraries, software and resources


發一個我自己寫的吧,就是跑模型或者特徵處理需要花費很多時間,不知道什麼時候會結束。這時候就可以做其他事情。這個模塊就是在函數結束後播放音頻或發郵件通知你函數運行完了。

https://zhuanlan.zhihu.com/p/77423586


python有matplotlib庫,主要用於畫圖,如果有這方面的需求,關於python畫圖的常用方法我都寫在專欄裏了,標題上寫了具體的功能(附代碼),方便查詢,一目瞭然,希望可以幫助你~

python畫圖入門?

zhuanlan.zhihu.com圖標

如果想做期權、期貨的策略研究或實盤交易,可以試試澎博真格量化的PoboAPI

參考

真格量化 - 期貨期權實盤量化平臺


看你做哪方面的啦,


os,sys,re,math,datetime等等,找面試題看看就是


主要還是看方向吧,比如web、qa、機器學習、sa每個方向都一大堆,太多


谷歌搜索,需要啥搜啥!


推薦閱讀:
相關文章