Python常用第三方庫

一、 檔案讀寫

  • 檔案讀寫常用庫/函式

    檔案的讀寫包括常見的 txtExcelxml 、二進位制檔案以及其他格式的資料文字,主要用於本地資料的讀寫

    詳細介紹及使用案例:檔案讀寫模組介紹及用例

    庫/函式描述推薦度
    open(name[, mode[, buffering]])[內建函式]Python預設的檔案讀寫方法★★★
    numpy.loadtxt、numpy.load和numpy.fromfile[第三方庫]Numpy自帶的讀寫函式,包括loadtxt、load和fromfile,用於文字、二進位制檔案讀寫★★★
    pandas.read_*[第三方庫]Pandas自帶的read檔案方法,例如ead_csv、read_fwf、read_table等,用於文字、Excel、二進位制檔案、HDF5、表格、SAS檔案、SQL資料庫、Stata檔案等的讀寫★★★
    xlrd[第三方庫]用於Excel檔案讀取★★
    xlwt[第三方庫]用於Excel檔案寫入★★
    pyexcel-xl[第三方庫]用於Excel檔案讀寫★★
    xluntils[第三方庫]用於Excel檔案讀寫★★
    pyExcelerator[第三方庫]用於Excel檔案讀寫
    openpyxl[第三方庫]用於Excel檔案讀寫
    xlwings[第三方庫]xml讀取和解析
    lxml[第三方庫]xml和HTML讀取和解析★★★
    xml[Python標準庫]xml物件解析和格式化處理★★★
    libxml2[第三方庫]xml物件解析和格式化處理
    xpath[第三方庫]xml物件解析和格式化處理★★
    win32com[第三方庫]有關Windows系統操作、Office(Word、Excel等)檔案讀寫等的綜合應用庫
    zipfile[python內建] zip檔案的操作

二、網路抓取和解析

  • 網路抓取和解析常用庫/函式

    網路抓取和解析用於從網際網路中抓取資訊,並對HTML物件進行處理,有關xml物件的解析和處理的庫在“1.檔案讀寫”中找到

    庫/函式描述推薦度
    requests[第三方庫]網路請求庫,提供多種網路請求方法並可定義複雜的傳送資訊★★★
    urllib[Python標準庫] Python自帶的庫,簡單的讀取特定URL並獲得返回的資訊★★
    urllib2[Python標準庫] Python自帶的庫,讀取特定URL並獲得返回的資訊,相對於urllib可處理更多HTTP資訊,例如cookie、身份驗證、重定向等★★
    urlparse[Python標準庫] Python自帶的URL解析庫,可自動解析URL不同的域、引數、路徑等★★★
    HTMLParser[Python標準庫]Python自帶的HTML解析模組,能夠很容易的實現HTML檔案的分析★★★
    Scapy[第三方庫]分散式爬蟲框架,可用於模擬使用者傳送、偵聽和解析並偽裝網路報文,常用於大型網路資料爬取★★★
    Beautiful Soup[第三方庫]Beautiful Soup是網頁資料解析和格式化處理工具,通常配合Python的urllib、urllib2等庫一起使用★★★

三、資料庫連線

  • 資料庫連線常用庫/函式

    資料庫連線可用於連線眾多資料庫以及訪問通用資料庫介面,可用於資料庫維護、管理和增、刪、改、查等日常操作

    庫/函式描述推薦度
    mysql-connector-python[第三方庫]MySQL官方驅動連線程式★★★
    MySQL-python[第三方庫]MySQL連線庫★★
    pymysql[第三方庫]MySQL連線庫
    cx_Oracle[第三方庫]Oracle連線庫★★★
    psycopg2[第三方庫]Python程式語言中非常受歡迎的PostgreSQL介面卡★★★
    redis[Python標準庫]Redis連線庫★★★
    pymongo[第三方庫]MongoDB官方驅動連線程式★★★
    HappyBase[第三方庫]HBase連線庫★★★
    py2neo[第三方庫]Neo4j連線庫★★★
    cassandra-driver[第三方庫] Cassandra(1.2+)和DataStax Enterprise(3.1+)連線庫★★★
    sqlite3[Python標準庫] Python自帶的模組,用於操作SQLite資料庫★★★
    pysqlite2[第三方庫] SQLite 3.x連線庫★★
    bsddb3[第三方庫]Berkeley DB連線庫bsddb3
    bsddb[Python標準庫] Python自帶的模組,提供了一個到Berkeley DB庫的介面★★
    dbhash[Python標準庫] Python自帶的模組,dbhash模組提供了使用BSD資料庫庫開啟資料庫的功能。該模組映象了提供對DBM樣式資料庫訪問的其他Python資料庫模組的介面。bsddb模組需要使用dbhash★★
    adodb[第三方庫] ADOdb是一個數據庫抽象庫,支援常見的資料和資料庫介面並可自行進行資料庫擴充套件,該庫可以對不同資料庫中的語法進行解析和差異化處理,具有很高的通用性★★★
    SQLObject[第三方庫] SQLObject是一種流行的物件關係管理器,用於向資料庫提供物件介面,其中表為類、行為例項、列為屬性★★
    SQLAlchemy[第三方庫] SQLAlchemy是Python SQL工具包和物件關係對映器,為應用程式開發人員提供了SQL的全部功能和靈活性控制★★
    ctypes[第三方庫] ctypes是Python的一個外部庫,提供和C語言相容的資料型別,可以很方便地呼叫C DLL中的函式★★★
    pyodbc[第三方庫] Python透過ODBC訪問資料庫的介面庫★★★
    Jython[第三方庫] Python透過JDBC訪問資料庫的介面庫★★★

四、資料清洗轉換

  • 資料清洗轉換常用庫/函式

    資料清洗轉換主用於資料正式應用之前的預處理工作

    庫/函式描述推薦度
    frozenset([iterable])[Python內建函式]返回一個新的frozenset物件,可選擇從iterable取得的元素★★★
    int(x)[Python內建函式]返回x的整數部分★★★
    isinstance(object, classinfo)[Python內建函式]返回object是否是指定的classinfo例項資訊★★★
    len(s)[Python內建函式]返回物件的長度或專案數量★★★
    long(x)[Python內建函式]返回由字串或數字x構造的長整型物件★★★
    max(iterable[, key])[Python內建函式]返回一個可迭代或最大的兩個或多個引數中的最大項★★★
    min(iterable[, key])[Python內建函式]返回一個可迭代或最大的兩個或多個引數中的最小項★★★
    range(start, stop[, step])[Python內建函式]用於與for迴圈一起建立迴圈列表,透過指定start(開始)、stop(結束)和step(步長)控制迭代次數並獲取迴圈值★★★
    raw_input(prompt)[Python內建函式]捕獲使用者輸入並作為字串返回(不推薦使用input作為使用者輸入的捕獲函式)★★★
    round(number[, ndigits])[Python內建函式]返回number小數點後ndigits位的四捨五入的浮點數★★★
    set([iterable])[Python內建函式]返回一個新的集合物件,可選擇從iterable獲取的元素★★★
    slice(start, stop[, step])[Python內建函式]返回表示由範圍(start、stop、step)指定的索引集的切片物件★★
    sorted(iterable[, cmp[, key[, reverse]]])[Python內建函式]從iterable的項中返回一個新的排序列表★★★
    xrange(start, stop[, step])[Python內建函式]此函式與range()非常相似,但返回一個xrange物件而不是列表★★★
    string[Python標準庫]字串處理庫,可實現字串查詢、分割、組合、替換、去重、大小寫轉換及其他格式化處理★★★
    re[Python標準庫]正則表示式模組,在文字和字串處理中經常使用★★★
    random[Python標準庫]該模組為各種分佈實現偽隨機數生成器,支援資料均勻分佈、正態(高斯)分佈、對數正態分佈、負指數分佈、伽馬和β分佈等★★★
    os[Python標準庫]用於新建、刪除、許可權修改、切換路徑等目錄操作,以及呼叫執行系統命令★★★
    os.path[Python標準庫]針對目錄的遍歷、組合、分割、判斷等操作,常用於資料檔案的判斷、查詢、合併★★★
    prettytable[Python標準庫]格式化表格輸出模組★★
    json[Python標準庫]Python物件與json物件的轉換★★★
    base64[Python標準庫]將任意二進位制字串編碼和解碼為文字字串的Base16,Base32和Base64★★★

五、資料計算和統計分析

  • 資料計算和統計分析常用庫/函式

    資料計算和統計分析主要用於資料探查、計算和初步資料分析等工作

    庫/函式描述推薦度
    numpy[第三方庫]NumPy是Python科學計算的基礎工具包,很多Python資料計算工作庫都依賴它★★★
    scipy[第三方庫]Scipy是一組專門解決科學和工程計算不同場景的主題工具包★★★
    pandas[第三方庫]Pandas是一個用於Python資料分析的庫,它的主要作用是進行資料分析。Pandas提供用於進行結構化資料分析的二維的表格型資料結構DataFrame,類似於R中的資料框,能提供類似於資料庫中的切片、切塊、聚合、選擇子集等精細化操作,為資料分析提供了便捷★★★
    statsmodels[第三方庫]Statsmodels是Python的統計建模和計量經濟學工具包,包括一些描述性統計、統計模型估計和統計測試,集成了多種線性迴歸模型、廣義線性迴歸模型、離散資料分佈模型、時間序列分析模型、非引數估計、生存分析、主成分分析、核密度估計以及廣泛的統計測試和繪圖等功能★★★
    abs(x)[Python內建函式]返回x的絕對值★★★
    cmp(x, y)[Python內建函式]比較兩個物件x和y,並根據結果返回一個整數。如果x <y,則返回值為負數,如果x == y則為零,如果x> y則返回值為正★★
    float(x)[Python內建函式]返回從數字或字串x構造的浮點數★★★
    pow(x, y[, z])[Python內建函式]返回x的y次冪。如果z存在,則返回x的y次冪,模z★★★
    sum(iterable[, start])[Python內建函式]從左到右依次迭代,返回總和★★★
    math[Python標準庫]數學函式庫,包括正弦、餘弦、正切、餘切、弧度轉換、對數運算、圓周率、絕對值、取整等數學計算方法★★★
    cmath[Python標準庫]與math基本一致,區別是cmath運算的是複數★★
    decimal[Python標準庫]10進位制浮點運算★★
    fractions[Python標準庫]分數模組提供對有理數算術的支援★★

六、自然語言處理和文字挖掘

  • 自然語言處理和文字挖掘常用庫/函式

    自然語言處理和文字挖掘庫主要用於以自然語言文字為物件的資料處理和建模

    庫/函式描述推薦度
    nltk[第三方庫]NLTK是一個Python自然語言處理工具,它用於對自然語言進行分類、解析和語義理解。目前已經有超過50種語料庫和詞彙資源★★★
    pattern[第三方庫]Pattern是一個網路資料探勘Python工具包,提供了用於網路挖掘(如網路服務、網路爬蟲等)、自然語言處理(如詞性標註、情感分析等)、機器學習(如向量空間模型、分類模型等)、圖形化的網路分析模型★★★
    gensim[第三方庫]Gensim是一個專業的主題模型(發掘文字中隱含主題的一種統計建模方法)Python工具包,用來提供可擴充套件統計語義、分析純文字語義結構以及檢索語義上相似的文件★★★
    結巴分詞[第三方庫]結巴分詞是國內流行的Python文字處理工具包,分詞模式分為三種模式:精確模式、全模式和搜尋引擎模式,支援繁體分詞、自定義詞典等,是非常好的Python中文分詞解決方案,可以實現分詞、詞典管理、關鍵字抽取、詞性標註等★★★
    SnowNLP[第三方庫]SnowNLP是一個Python寫的類庫,可以方便的處理中文文字內容。該庫是受到了TextBlob的啟發而針對中文處理寫的類庫,和TextBlob不同的是這裡沒有用NLTK,所有的演算法都是自己實現的,並且自帶了一些訓練好的字典★★
    smallseg[第三方庫] Smallseg是一個開源的、基於DFA的輕量級的中文分詞工具包。可自定義詞典、切割後返回登入詞列表和未登入詞列表、有一定的新詞識別能力★★
    spaCy[第三方庫] spaCy是一個Python自然語言處理工具包,它結合Python和Cython使得自然語言處理能力達到了工業強度★★★
    TextBlob[第三方庫]TextBlob 是一個處理文字資料的Python庫,可用來做詞性標註、情感分析、文字翻譯、名詞短語抽取、文字分類等★★
    PyNLPI[第三方庫] PyNLPI是一個適合各種自然語言處理任務的集合庫,可用於中文文字分詞、關鍵字分析等,尤其重要的是其支援中英文對映,支援UTF-8和GBK編碼的字串等★★★

七、影象和影片處理

  • 影象和影片處理常用庫/函式

    影象處理和影片處理主要適用於基於影象的操作、處理、分析和挖掘,如人臉識別、影象識別、目標跟蹤、影象理解等

    庫/函式描述推薦度
    PIL[第三方庫]PIL是一個常用的影象讀取、處理和分析的庫,提供了多種資料處理、變換的操作方法和屬性★★
    OpenCV[第三方庫]OpenCV是一個強大的影象和影片工作庫。它提供了多種程式介面,支援跨平臺(包括移動端)應用。OpenCV的設計效率很高,它以最佳化的C / C ++編寫,庫可以利用多核處理。除了對影象進行基本處理外,還支援影象資料建模,並預製了多種影象識別引擎,如人臉識別★★★
    scikit-image[第三方庫] scikit-image(也稱skimage)是一個影象處理庫,支援顏色模式轉換、濾鏡、繪圖、影象處理、特徵檢測等多種功能★★
    imageop[Python標準庫] Python自帶的函式,對影象基本操作,包括裁剪、縮放、模式轉換
    colorsys[Python標準庫] Python自帶的函式,實現不同影象色彩模式的轉換
    imghdr[Python標準庫] Python自帶的函式,返回影象檔案的型別

八、音訊處理

  • 音訊處理常用庫/函式

    音訊處理主要適用於基於聲音的處理、分析和建模,主要應用於語音識別、語音合成、語義理解等

    庫/函式描述推薦度
    TimeSide[第三方庫] TimeSide是一個能夠進行音訊分析、成像、轉碼、流媒體和標籤處理的Python框架,可以對任何音訊或影片內容非常大的資料集進行復雜的處理★★★
    audiolazy[第三方庫]audiolazy是一個用於實時聲音資料流處理的庫,支援實時資料應用處理、無限資料序列表示、資料流表示等★★
    pydub[第三方庫] pydub支援多種格式聲音檔案,可進行多種訊號處理(例如壓縮、均衡、歸一化)、訊號生成(例如正弦、方波、鋸齒等)、音效註冊、靜音處理等★★★
    audioop[Python標準庫] Python自帶的函式,可實現對聲音片段的一些常用操作★★
    tinytag[第三方庫] tinytag用於讀取多種聲音檔案的元資料,涵蓋MP3、OGG、OPUS、MP4、M4A、FLAC、WMA、Wave等格式★★
    aifc[Python標準庫] Python自帶的函式,讀寫AIFF和AIFC檔案
    sunau[Python標準庫] Python自帶的函式,讀寫Sun AU檔案
    wave[Python標準庫] Python自帶的函式,讀寫WAV檔案★★
    chunk[Python標準庫] Python自帶的函式,讀取EA IFF 85塊格式的檔案
    sndhdr[Python標準庫] Python自帶的函式,返回聲音檔案的型別
    ossaudiodev[Python標準庫]該模組支援訪問OSS(開放聲音系統)音訊介面★★★

九、資料探勘/機器學習/深度學習

  • 資料探勘/機器學習/深度學習常用庫/函式

    資料探勘、機器學習和深度學習等是Python進行資料建模和挖掘學習的核心模組

    庫/函式描述推薦度
    Scikit-Learn[第三方庫]scikit-learn(也稱SKlearn)是一個基於Python的機器學習綜合庫,內建監督式學習和非監督式學習機器學習方法,包括各種迴歸、聚類、分類、流式學習、異常檢測、神經網路、整合方法等主流演算法類別,同時支援預置資料集、資料預處理、模型選擇和評估等方法,是一個非常完整、流行的機器學習工具庫★★★
    TensorFlow[第三方庫]TensorFlow 是谷歌的第二代機器學習系統,內建深度學習的擴充套件支援,任何能夠用計算流圖形來表達的計算,都可以使用 TensorFlow★★★
    NuPIC[第三方庫] NuPIC是一個以HTM(分層時間記憶)學習演算法為工具的機器智慧平臺。NuPIC適合於各種各樣的問題,尤其適用於檢測異常和預測應用★★★
    Orange[第三方庫] Orange透過圖形化操作介面,提供互動式資料分析功能,尤其適用於分類、聚類、迴歸、特徵選擇和交叉驗證工作★★★
    theano[第三方庫] Theano是非常成熟的深度學習庫。它與Numpy緊密整合,支援GPU計算、單元測試和自我驗證★★★
    keras[第三方庫] Keras是一個用Python編寫的高階神經網路API,能夠執行在TensorFlow或者Theano之上,它的開發重點是實現快速實驗★★
    neurolab[第三方庫] Neurolab是具有靈活網路配置和Python學習演算法的基本神經網路演算法庫。它包含透過遞迴神經網路(RNN)實現的不同變體,該庫是同類RNN API中最好的選擇之一★★
    PyLearn2[第三方庫] PyLearn2是基於Theano的深度學習庫,它旨在提供極大的靈活性,並使研究人員可以進行自由可控制,引數和屬性的靈活、開放配置是亮點★★★
    OverFeat[第三方庫] OverFeat是一個深度學習庫,主要用於圖片分類、定位物體檢測★★
    Pyevolve[第三方庫] Pyevolve是一個完整的遺傳演算法框架,也支援遺傳程式設計★★
    Caffe[第三方庫] Cafffe是一個深度學習框架,主要用於計算機視覺,它對影象識別的分類具有很好的應用效果★★

十、資料視覺化

  • 資料視覺化常用庫/函式

    資料視覺化主要用於做資料結果展示、資料模型驗證、圖形互動和探查等方面

    庫/函式描述推薦度
    Matplotlib[第三方庫] Matplotlib是Python的2D繪相簿,它以各種硬複製格式和跨平臺的互動式環境生成出版質量級別的圖形,開發者可以僅需要幾行程式碼,便可以生成多種高質量圖形★★★
    seaborn[第三方庫] Seaborn是在Matplotlib的基礎上進行了更高階的API封裝,它可以作為Matplotlib的補充★★
    bokeh[第三方庫] Bokeh是一種互動式視覺化庫,可以在WEB瀏覽器中實現美觀的視覺效果★★★
    Plotly[第三方庫] Plotly提供的圖形庫可以進行線上WEB互動,並提供具有出版品質的圖形,支援線圖、散點圖、區域圖、條形圖、誤差條、框圖、直方圖、熱圖、子圖、多軸、極座標圖、氣泡圖、玫瑰圖、熱力圖、漏斗圖等眾多圖形★★★
    VisPy[第三方庫] VisPy是用於互動式科學視覺化的Python庫,旨在實現快速,可擴充套件和易於使用★★
    PyQtGraph[第三方庫] PyQtGraph是一個建立在PyQt4 / PySide和numpy之上的純Python圖形和GUI庫,主要用於數學/科學/工程應用★★
    ggplot[第三方庫] ggplot是用Python實現的圖形輸出庫,類似於 R中的圖形展示版本★★★

十一、互動學習和整合開發

  • 互動學習和整合開發常用庫/函式

    互動學習和整合開發主要用來做Python開發、除錯和整合之用,包括Python整合開發環境和IDE

    庫/函式描述推薦度
    IPython[第三方庫]IPython 是一個基於Python 的互動式shell,比預設的Python shell 好用得多,支援變數自動補全、自動縮排、互動式幫助、魔法命令、系統命令等,內建了許多很有用的功能和函式★★★
    Elpy[第三方庫] Elpy是Emacs用於Python的開發環境,它結合並配置了許多其他軟體包,它們都是用Emacs Lisp和Python編寫的★★
    PTVS[第三方庫] Visual Studio 的 Python 工具★★
    PyCharm[外部工具]PyCharm帶有一整套可以幫助使用者在使用Python語言開發時提高其效率的工具,比如除錯、語法高亮、專案管理、程式碼跳轉、智慧提示、自動完成、單元測試、版本控制並可整合IPython、系統終端命令列等,在PyCharm裡幾乎就可以實現所有有關Python工作的全部過程★★★
    LiClipse[外部工具] LiClipse是基於Eclipse的免費多語言 IDE,透過其中的PyDev可支援 Python開發應用★★
    Spyder[外部工具] Spyder是一個開源的Python IDE,由IPython和眾多流行的Python庫的支援,是一個具備高階編輯、互動式測試、除錯以及數字計算環境的互動式開發環境★★

十二、其他Python協同資料工作工具

  • 其他Python協同資料工作工具常用庫/函式

    其他Python協同資料工作工具指除了上述主題以外,其他在資料工作中常用的工具或庫

    庫/函式描述推薦度
    tesseract-ocr[外部工具]這是一個Google支援的開源OCR圖文識別專案,支援超過200種語言(包括中文),並支援自定義訓練字符集,支援跨Windows、Linux、Mac OSX 多平臺使用★★★
    RPython[第三方庫]R整合庫★★★
    matpython[第三方庫]MATLAB整合庫★★★
    Lunatic Python[第三方庫]Lua整合庫★★
    PyCall.jl[第三方庫]Julia整合庫★★
    PySpark[第三方庫] Spark提供的Python API★★★
    dumbo[第三方庫] 這個模組可以讓Pythoner輕鬆的編寫和執行 Hadoop 程式,程式版本比較早,可以作為參考★★
    dpark[第三方庫]Python對Spark的克隆版本,類MapReduce框架★★
    streamparse[第三方庫] Streamparse允許透過Storm對實時資料流執行Python程式碼★★★

十三、其他

  • 一些比較有用的庫

    隨手記錄的一些庫
    詳細介紹及使用案例:Python 常用的模組和庫

    庫/函式描述推薦度
    sched[內部] 時間排程器模組,實現優先順序佇列/延遲佇列和定時佇列★★★

更多相關推薦

常用Python第三方庫

如果說強大的標準庫奠定了Python發展的基石,豐富的第三方庫則是python不斷髮展的保證,隨著py...

繼續閱讀

python常用第三方庫

演算法和設計模式Python實現演算法和設計模式algorithms -Python的一個演算法模組.PyPattyrn -一個用...

繼續閱讀

Python常用第三方庫

Pillow影象處理庫requests 訪問網路資源chardet用於檢測編碼psutil(processandsystemutilitie...

繼續閱讀

常用Python第三方庫

隨時更新,方便查閱GUIPyQt5PyQt5其他擴充套件庫,GPLPySide2QT5官方封裝,LGPL視覺化matplotlibMa...

繼續閱讀

python好用的第三方庫_轉載#Pyth...

Python常用的20個第三方庫Requests.KennethReitz寫的最富盛名的http庫。每個Python程式設計師都應...

繼續閱讀

python第三方庫的意義_Python模...

模組定義計算機在開發過程中,程式碼寫的越多,越難維護。因此,為了編寫可維護的程式碼,我們將組織功...

繼續閱讀

python好用的第三方庫_python常...

一、Web框架1.Django:開源web開發框架,它鼓勵快速開發,並遵循MVC設計,比較龐大,開發週期短...

繼續閱讀

python好用的第三方庫_Python模...

模組定義計算機在開發過程中,程式碼越寫越多,也就越難以維護,所以為了編寫可維護的程式碼,我們...

繼續閱讀

python好用的第三方庫_Python常...

Python語言有超過12萬個第三方庫,覆蓋資訊科技幾乎所有領域。下面簡單介紹下網路爬蟲、自動化...

繼續閱讀

python爬蟲需要的第三方庫_pytho...

原博文2018-10-2309:31−這個列表包含與網頁抓取和資料處理的Python庫網路通用urllib-網路庫(st...

繼續閱讀