Python作為一種編程語言近年來越來越受歡迎,它為什么這么火?
其中一個重要原因就是因為Python的庫豐富——Python語言提供超過15萬個第三方庫,Python庫之間廣泛聯系、逐層封裝。幾乎覆蓋信息技術所有領域,下面簡單介紹下數據分析與可視化、網絡爬蟲、自動化、WEB開發、機器學習常用的一些第三方庫。
一、數據分析和可視化
1.matplotlib
Matplotlib 是一個 Python 的 2D繪圖庫,它以各種硬拷貝格式和跨平台的交互式環境生成出版質量級別的圖形。Matplotlib 可用於 Python 腳本,Python 和 IPython shell(例如 MATLAB 或 Mathematica)。
2.numpy
NumPy是Python科學計算的基礎工具包,包括統計學、線性代數、矩陣數學、金融操作等等很多Python數據計算工作庫都依賴它。支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。
3.pyecharts
Pyecharts是一個用於生成 Echarts 圖表的類庫。
4.pandas
Pandas是一個用於Python數據分析的庫,它的主要作用是進行數據分析。Pandas提供用於進行結構化數據分析的二維的表格型數據結構DataFrame,類似於R中的數據框,能提供類似於數據庫中的切片、切塊、聚合、選擇子集等精細化操作,為數據分析提供了便捷。
5.scipy
Scipy是一組專門解決科學和工程計算不同場景的主題工具包,它用於有效計算Numpy矩陣,使Numpy和Scipy協同工作,高效解決問題。
6.plotly
Plotly一個開源的、交互式的、基於瀏覽器的 Python 圖形庫,支持散點圖、3D圖等眾多圖形。
7.statsmodels
Statsmodels是Python的統計建模和計量經濟學工具包,包括一些描述性統計、統計模型估計和統計測試,集成了多種線性回歸模型、廣義線性回歸模型、離散數據分布模型、時間序列分析模型、非參數估計、生存分析、主成分分析、核密度估計以及廣泛的統計測試和繪圖等功能。
二、網絡爬蟲
1.requests
網絡請求庫,提供多種網絡請求方法並可定義復雜的發送信息,對HTTP協議進行高度封裝,支持非常豐富的鏈接訪問功能。
2.bs4
BS4全稱是Beatiful Soup,它提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。
3.scrapy
分布式爬蟲框架,可用於模擬用戶發送、偵聽和解析並偽裝網絡報文,常用於大型網絡數據爬取。
4.portia
Portia是scrapyhub開源的一款可視化的爬蟲規則編寫工具。它提供可視化的Web頁面,你只需要通過點擊標注頁面上你需要抽取的數據,不需要任何編程知識即可完成規則的開發。
5.cola
Cola是一個分布式的爬蟲框架,用戶只需編寫幾個特定的函數,而無需關注分布式運行的細節。任務會自動分配到多台機器上,整個過程對用戶是透明的。
三、自動化
1.selenium
是一個用於Web應用程序測試的工具。Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括IE,Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。
2.pymysql
是Python操作MySQL數據庫 。
3. pymongo
是Python中用來操作MongoDB的一個庫。而MongoDB是一個基於分布式文件存儲的數據庫,旨在為WEB應用提供可擴展的高性能數據存儲解決方案。
4.splinter
Splinter 是一個用 Python 編寫的 Web 應用程序進行驗收測試的工具。
5.openpyxl
一個處理Microsoft Excel文檔的Python第三方庫,它支持讀寫Excel的xls、xlsx、xlsm、xltx、xltm。
6. python-docx
一個處理Microsoft Word文檔的Python第三方庫,它支持讀取、查詢以及修改doc、docx等格式文件,並能夠對Word常見樣式進行編程設置。
四、Web開發
1.Django
Django是一個開放源代碼的Web應用框架,由Python開發。采用了MTV的框架模式,即模型M,視圖V和模版T。
2.Pyramid
是一個通用、開源的Python Web應用程序開發框架。它主要的目的是讓Python開發者更簡單的創建Web應用,相比Django,Pyramid是一個 相對小巧、快速、靈活 的開源Python Web框架。
3.Tornado
一種 Web 服務器軟件的開源版本。Tornado和現在的主流Web服務器框架(包括大多數Python的框架)有着明顯的區別:它是非阻塞式服務器,而且速度相當快
4.Flask
是輕量級Web應用框架,相比Django和Pyramid,它也被稱為微框架 。使用Flask開發Web應用十分方便,甚至幾行代碼即可建立一個小型網站。Flask核心十分簡單,並不直接包含諸如數據庫訪問等的抽象訪問層,而是通過擴展模塊形式來支持。
五、機器學習
1.Scikit-learn
Scikit-learn是機器學習的核心程序庫,依托於上面的幾種工具包,封裝了大量經典以及最新的機器學習模型。
2. NLTK
NLTK,全稱Natural Language Toolkit,自然語言處理工具包,這是一個開源項目,包含數據集、Python模塊、教程等。
3.Keras
是一個由Python編寫的開源人工神經網絡庫,可以作為Tensorflow、Microsoft-CNTK和Theano的高階應用程序接口,進行深度學習模型的設計、調試、評估、應用和可視化。
4.Caffe
是一個兼具表達性、速度和思維模塊化的深度學習框架。主要用於計算機視覺,它對圖像識別的分類具有很好的應用效果。
5.theano
是一個 Python 庫,用來定義、優化和模擬數學表達式計算,用於高效的解決多維數組的計算問題。
Python第三方庫就簡單介紹到這里,如果有你感興趣的第三方庫,不妨去試試它的功能。學習python是一個長久的事情,但是對於初學者來說上手還是比較簡單的~~~