首頁>Club>
1
回覆列表
  • 1 # 一個程式設計師的奮鬥史

    Python能取得如此巨大的成功,除了其語法簡潔外,很大程度上在於它擁有超級多的原生庫以及第三方庫,注意這裡我用到了超級多這個詞......

    You-Get

    一款優秀的網站影片下載工具,使用它你可以簡單的透過一條命令列工具完成影片、音訊、圖片等媒體資源的下載(即使這些網站沒有提供)下載連結,比如YouTube、愛奇藝、騰訊影片、嗶哩嗶哩等。

    注意:支援的Python版本為Python3.2+,安裝過程只需簡單的一條pip命令即可。

    Requests

    相信很多搞爬蟲的朋友都會用到這個庫,我們先來看看官方對它的介紹:

    Requests is an elegant and simple HTTP library for Python, built for human beings.

    比urllib更加方便,可以節約我們大量的工作,而且專門為英文不太好的朋友提供了中文官方文件。下面是使用requests庫後簡潔明瞭的HTTP請求程式碼。

    wget

    相信經常玩Linux的朋友,一定知道Shell中一個很好用的下載工具:wget,可以很方便的下載網上資源。

    其實Python中也有對應的模組——Wget,它可以很方便的幫助我們遞迴下載一個網站,甚至爬取頁面的所有圖片,甚至在電影《社交網路》裡連馬克·扎克伯格(全球知名的社交網站Facebook創始人之一)都說:

    首先是 Kirkland,它們開放了所有的東西,並允許在Apache裡插入索引。所以用WGET就足以下載整個Kirkland的Facebook圖片了。小菜一碟!pyecharts

    pyecharts = Python + Echarts

    很多玩前端的朋友應該都聽說過百度開源的一個數據視覺化JS庫Echarts,當 Python 遇到了Echarts,就變成了pyecharts。透過簡單的幾行程式碼,我們就可以完成強大、顏值高的視覺化效果圖。

    說再多不如程式碼來的實際,透過上面剪短的10行(去掉註釋、空行)程式碼,就可以完成如下圖所示的柱狀分佈圖。

    Delorean

    一個酷炫的日期時間庫,類似JavaScript中的moment,它可以讓你用更加簡潔的程式碼解決Python中使用時間模組中遇到的問題,比如轉換、操控和生成時間日期。

    在沒有使用Delorean之前,也許我們的程式碼是下面這個樣子

    使用它之後呢?像下面這樣,有沒有很香呢?

    sqlmap

    是一款用來檢測與利用SQL注入漏洞的免費開源工具,支援所有型別資料庫的注入。也許就連很多專業的Python開發者都不曾用過,不過,在網路世界的另一角,白帽子、駭客、網路安全愛好者心中,它簡直是神一般的存在。

    作為一名網路安全從業者,如果你不僅能熟練使用sqlmap這種牛逼的工具,甚至還讀過幾遍原始碼,還能修改,那麼還怕寫不出sql注入的POC嗎?

  • 2 # 你看我獨角獸嗎

    Python是最流行且使用最廣泛的程式語言之一,並已取代了業內許多程式語言。

    Python之所以在開發人員中流行是有很多原因的,其中之一就是它擁有供使用者使用的龐大的庫集合。

    Python有大量的庫。Python因其簡單易用而被稱為初學者級程式語言。從開發到部署和維護Python都希望他們的開發人員提高生產力。可移植性是Python廣受歡迎的另一個原因。Python的程式設計語法易於學習,並且與C,Java和C ++相比具有較高的水平。

    因此,可以透過編寫更少的程式碼行來開發新的應用程式。

    Python的簡單性吸引了許多開發人員建立用於機器學習的新庫。由於大量的庫,Python在機器學習專家中變得非常流行。

    因此,我們的十大Python庫部落格中的第一個庫是TensorFlow。

    什麼是TensorFlow?

    如果您當前正在使用Python進行機器學習專案,那麼您可能聽說過這個流行的開源庫TensorFlow。

    該庫由Google與Brain Team合作開發。TensorFlow幾乎用於所有用於機器學習的Google應用程式。

    TensorFlow就像計算庫一樣,用於編寫涉及大量張量運算的新演算法,因為神經網路可以輕鬆地表達為計算圖,因此可以使用TensorFlow作為對Tensor的一系列運算來實現它們。另外,張量是代表您資料的N維矩陣。

    TensorFlow的功能

    TensorFlow針對速度進行了最佳化,它利用XLA之類的技術進行快速線性代數運算。

    1.迴應式建構

    藉助TensorFlow,我們可以輕鬆地視覺化圖形的每個部分,這在使用Numpy 或 SciKitLearn時不是可選的。

    2.靈活

    Tensorflow功能非常重要的一項就是它的可操作性非常靈活,這意味著它具有模組化以及您想要使其獨立的部分,它為您提供了這一選擇。

    3.容易訓練

    它可以輕鬆地在CPU和GPU上進行訓練,以進行分散式計算。

    4.並行神經網路訓練

    TensorFlow提供了流水線,意味著您可以訓練多個 神經網路和多個GPU,這使得模型在大規模系統上非常高效。

    5.大型社群

    不用說,如果它是由Google開發的,那麼已經有一個龐大的軟體工程師團隊,他們會不斷進行穩定性改進。

    6.開源

    關於這個機器學習庫的最好的事情是它是開源的,因此只要有Internet連線,任何人都可以使用它。

    在哪裡使用TensorFlow?

    TensorFlow中建立的所有庫都是用C和C ++編寫的。但是,它具有複雜的Python前端。您的Python程式碼將被編譯,然後在使用C和C ++構建的TensorFlow分散式執行引擎上執行。

    Numpy

    什麼是Numpy?

    TensorFlow和其他庫在內部使用Numpy在Tensor上執行多項操作。陣列介面是Numpy最好的也是最重要的功能。

    Numpy的特點

    互動: Numpy非常互動,易於使用。數學:使複雜的數學實現非常簡單。直觀:使編碼變得容易,並且掌握概念也很容易。大量互動:廣泛使用,因此有很多開源貢獻。

    在哪裡使用Numpy?

    該介面可用於將影象,聲波和其他二進位制原始流表示為N維實數陣列。

    對於實現該庫的機器學習來說,具有Numpy知識對於全棧開發人員很重要。

    什麼是Keras?

    Keras被認為是Python中最酷的機器學習庫之一。它提供了一種表達神經網路的簡單機制。 Keras還提供了一些最佳實用程式,可用於編譯模型,處理資料集,圖形視覺化等等。

    在後端,Keras內部使用Theano或TensorFlow。也可以使用一些最流行的神經網路,例如CNTK。當我們將其與其他機器學習庫進行比較時,Keras相對較慢。因為它透過使用後端基礎結構來建立計算圖,然後利用它來執行操作。Keras中的所有模型都是行動式的。

    Keras的特點

    它可以在CPU和GPU上流暢執行。Keras支援神經網路的幾乎所有模型-完全連線,卷積,合併,遞迴,嵌入等。此外,這些模型可以組合起來以構建更復雜的模型。Keras本質上是模組化的,具有令人難以置信的表現力,靈活性,並且易於進行創新研究。Keras是一個完全基於Python的框架,它使除錯和探索變得容易。

    在哪裡使用Keras?

    Keras包含許多常用神經網路構建塊的實現,例如層,目標,啟用功能,最佳化器和許多工具,可簡化處理影象和文字資料的過程。

    另外,它提供了許多預處理的資料集和預訓練的模型,例如MNIST,VGG,Inception,SqueezeNet,ResNet等。

    Keras還是深度學習研究人員的最愛,排名第二。Keras還被CERN和NASA的大型科學組織的研究人員所採用。

    Pytorch

    什麼是PyTorch?

    PyTorch是最大的機器學習庫,允許開發人員透過GPU加速來執行張量計算,建立動態計算圖並自動計算梯度。除此之外,PyTorch還提供了豐富的API,用於解決與神經網路有關的應用程式問題。

    該機器學習庫基於Torch,Torch是使用C語言在Lua中使用包裝器實現的開源機器庫。

    PyTorch的功能

    混合前端

    一個新的混合前端在渴望模式下提供了易用性和靈活性,同時無縫過渡到圖形模式以實現C ++執行時環境中的速度,最佳化和功能。

    分散式訓練

    透過利用對Python和C ++可以訪問的集體操作和對等通訊的非同步執行的本機支援,最佳化研究和生產中的效能。

    Python優先

    PyTorch不是繫結到整體C ++框架的Python。它被構建為與Python深度整合,因此可以與Cython和Numba等流行的庫和軟體包一起使用。

    庫和工具

    活躍的研究人員和開發人員社群建立了豐富的工具和庫生態系統,用於擴充套件PyTorch並支援從計算機視覺到強化學習的領域的開發。

    在哪裡使用PyTorch?

    PyTorch主要用於自然語言處理等應用程式。

    它主要由Facebook的人工智慧研究小組開發,並在其上構建了Uber用於機率程式設計的“ Pyro”軟體。

    PyTorch在多個方面都勝過TensorFlow,並且在最近幾天獲得了很多關注。

  • 3 # testerzhang

    1.日誌庫

    安裝方法:

    pip install loguru

    最簡單的使用方法:

    from loguru import logger

    logger.debug("That"s it, beautiful and simple logging!")

    有興趣也可以看看我之前製作的影片:https://www.ixigua.com/6839340605517070852/

    2.時間處理庫

    安裝方法:

    pip install -U arrow

    最簡單的使用方法:

    >>> import arrow

    >>> now_time = arrow.now()

    >>> now_time.timestamp

    1368303838

    有興趣也可以看看我之前製作的影片:https://www.ixigua.com/6840103612434088462/

    3.冷門的正則表示式庫,不用懂正則也可以提取字串。

    安裝方法:

    pip install parse

    最簡單的使用:

    >>> from parse import *

    >>> parse("It"s {}, I love it!", "It"s spam, I love it!")

    <Result ("spam",) {}>

    >>> _[0]

    "spam"

    有興趣也可以看看我之前製作的影片:https://www.ixigua.com/6875288541958504975/

    如果你覺得這幾個庫都不好用,那我就不用介紹其他了。

  • 4 # 三省老五

    pyppeteer

    一個可以超越selenium+瀏覽器的工具

  • 5 # 每日精彩科技

    Python中的模組其實就是Python檔案,在檔案中可以定義多個類、函式、變數等。正常情況下,同一檔案中的程式碼具有較高的連貫性,不同檔案之間的程式碼是低耦合的,不同檔案之間的程式碼可以相互呼叫,使得程式碼可以多次使用。

    模組:

    透過import Sys匯入模組。如果找不到檔案,會顯示變數的路徑值。透過Sys. 瀏覽搜尋目錄的路徑,通常包含當前目錄、Python目錄等,並在目錄列表中定義搜尋順序(通常為當前優先順序)。

    如果預設的搜尋目錄中沒有指定訪問模組,則必須手動將其新增到搜尋目錄中。如果多個模組包含相同的內容,可以在訪問時指定模組的名稱。

    如果訪問模組沒有在預設的搜尋目錄中指定,則必須手動將其新增到搜尋目錄中。如果多個模組包含相同的內容,可以在呼叫時指定模組名稱。內容會有所不同,否則根據匯入順序,會匯入最後一個模組。

    時間庫

    時間模組根據日期和時間提供不同的類和函式。時間的表達方式通常有三種:施工時間、字型時間、行時間。這三種形式可以在具體函式之間進行轉換。當字串轉換為基本時間時,除了需要分析具體的百分比外,還必須在原文中輸入其他地方,如空格、對角線、冒號等,否則無法找到匹配。

    叢集擴充套件到Python容器:dict、list、set、元組等,並提供一些具有特殊功能的子類。例如,反向、逆向、逆向等。

    Defaultdict庫

    是dict dictionary的一個子類。它支援字典中的所有預設值,用來預設字典中不存在的所有鍵,而不是隻報錯。

    NumPy庫

    在Python介面中使用高速包C,而Cython則使用額外的型別來編譯Python C,以提高效能。然而,Numba無疑是最方便的,因為它允許裝飾者選擇加速Python函式。為了進一步提高速度,您可以使用Python標準應用程式來相容工作負載、SIMD或GPU命令。注意:NumPy可以和Numba一起使用。畢竟NumPy有很多成熟的演算法,不需要從頭開始應用。不過,對於小演算法,NumPy在很多情況下比NumPy高很多倍。

    OpenPyxl的工作是修改Excel檔案,而不是直接控制Excel。使用Openpycl,你可以自動建立電子表格和工作簿,建立公式,用這些公式填充單元格,並執行許多其他操作。你還可以改變Excel物件的屬性,如格式和單元格條件。

  • 6 # 科技時鐘

    推薦幾個我覺得很驚豔的吧

    視覺化. Bokeh(提交:16983,貢獻者:294)

    Bokeh 庫使用 JavaScript 小部件在瀏覽器中建立互動式和可伸縮的視覺化圖形。該庫提供了多種圖形、樣式、連結圖形式的互動能力、新增小部件、定義回撥以及更多有用的功能。Bokeh 改進的互動式功能值得稱讚,例如可旋轉的分類刻度標籤,以及小型的縮放工具和自定義工具提示欄位增強。

    機器學習. Scikit-learn(提交:22753,貢獻者:1084)

    這個基於 NumPy 和 SciPy 的 Python 模組是處理資料的最佳庫之一。它為很多標準的機器學習和資料探勘任務提供演算法,例如聚類、迴歸、分類、降維和模型選擇。

    該庫有很多增強功能。交叉驗證已經獲得更新,現在可以使用多個指標。一些訓練方法(如鄰近取樣和邏輯迴歸等)得到一些小改進。它的主要更新之一是完成了通用術語和 API 元素詞彙表。

    深度學習. TensorFlow(提交:33339,貢獻者:1469)

    TensorFlow 是一個流行的深度學習和機器學習框架,由 Google Brain 開發。它支援在人工神經網路中使用多個數據集。最受歡迎的 TensorFlow 應用場景包括物體識別、語音識別等。還有很多基於 TensorFlow 構建的庫,例如 tflearn、tf-slim、skflow 等。

    這個庫釋出新版本的速度很快,引入了很多新功能。最新的修復包括潛在的安全漏洞和改進的 TensorFlow 與 GPU 的整合,現在可以在單臺計算機的多個 GPU 上執行 Estimator 模型。

    分式深度學習. dist-keras/elephas/spark-deep-learning(提交:1125/170/67,貢獻者:5/13/11)

    深度學習問題變得越來越重要,因為越來越多的場景要求更多的時間和成本。而像 Apache Spark 這樣的分散式計算系統可以更輕鬆地處理大量資料,這反過來又為深度學習帶來更多的可能性。dist-keras、elephas 和 spark-deep-learning 變得越來越流行,並正在迅速發展演化。很難說它們當中哪個更好,因為它們都是為解決一些相同的任務而設計的。這些庫和 Keras 可以直接用在 Apache Spark 中,用以訓練神經網路。spark-deep-learning 還提供了工具用於為 Python 神經網路建立管道。

    自然語言處理. SpaCy(提交:8623,貢獻者:215)

    SpaCy 是一個自然語言處理庫,包含了優秀的示例、API 文件和演示應用程式。該庫使用 Cython(Python 的 C 擴充套件)編寫。它支援將近 30 種語言,可以方便地與深度學習整合,並保證健壯性和高準確率。SpaCy 有一個為處理整個文件而設計的架構,在處理文件時不需要將它分成短語,這也是 SpaCy 的一個重要特性。

  • 7 # IT溺水的魚0

    python語言的使用率現在越來越高了,相比較流行的java語言,python顯的更小巧、靈活。尤其是在做政府專案時,客戶的環境與網際網路不是互通的,如果使用java,每次修改都需要在網路編譯;而python語言可以很方便的在內網直接修改除錯。

    正好借這個問題整理下以前使用的一些類庫,python中比較有名的庫:

    1、pip管理工具:Python 包和依賴關係管理工具

    2、web開發框架,django框架

    3、傳送請求類庫:requests,比urllib/urllib2使用簡潔

    4、日誌庫:logging

    5、根據文字生成圖片的庫(可以實現水印效果):PIL

    6、非阻塞高併發框架:tornado

    7、Scrapy框架:高效能的web爬蟲框架

    8、smtplib:傳送郵件類庫,傳送郵件在python中非常簡單

    9、ansible:一種整合IT系統的配置管理,應用部署,執行特定任務的開源平臺。基於Python實現,由Paramiko和PyYAML兩個關鍵模組構建

    10、lxml:xml解析類庫

    另外,還有很多與其他軟體整合的,可以在

    https://pypi.org/

    直接搜尋,如redis,pymongo等。

  • 8 # 未來資料科技

    Python要想玩的轉,關鍵是要看你對它所涉及到的庫的運用!除了人工智慧和大資料相關的庫以外,主要介紹幾個有趣好玩的庫!PyGame

    PyGame庫,可以用它來開發一些簡單的遊戲,基於PySDL(Python版SDL),該框架完全簡化遊戲開發流程以達到快速開發的效果。記得剛開始學習Python的時候,基礎部分結束後有一個小專案,就是寫一個簡單的遊戲,用的就是這個庫。後來對它是好感倍增!PyGame恰巧門檻低,能讓你快速開發出屬於自己的遊戲。既簡單又好玩!6

    Pillow

    pillow是Python的影象處理庫,也工作中常用到的,我們一般叫它PIL,PIL經常被用作圖片處理、螢幕抓圖,GIF圖製作等操作。如果你還在頭疼怎麼製作一款有關圖片操作/處理的軟體,不妨去學習下PIL,相信它一定不會讓你失望。當然PIL也用在人工智慧的影象識別上!目前運用較多

    Selenium

    Selenium是一款瀏覽器自動化測試框架,主要是用來測試Web專案和網頁遊戲自動化輔助,還可以執行JavaScript程式碼。如果你想對一個網頁做一些操作比如點選某個按鈕,或者是填寫表單,再者網頁遊戲簽到等等,就可以用它來完成,是不是很神奇!

    Scrapy

    Scrapy是一個相當強力的庫,也是駭客必備的一個庫!透過它寫爬蟲程式就可以爬取其他公司資料,也稱作盜取資料!對駭客感興趣的同學可以學學這個庫!它還有一個功能可以讓開發者無需瀏覽器就可以瀏覽網站。

    Python有很強大的庫,這也是它如此火的一個原因。像這樣的庫還有很多比如Asciimatics用來構建命令列圖形,並開發出命令列動畫效果。PyInstaller可執行檔案構建工具,相容性更好,更實用。Scapy主要用來發送、偵聽和解析報文。Requests可以實現web伺服器和客戶端瀏覽器之間的資料互動,也受駭客青睞!PyOgre可以用來做任何3D渲染,遊戲,媒體,模擬等等。

  • 9 # IT技術管理那些事兒

    話不多說,直接上貨!

    介紹七類好用的python庫,包括核心庫和統計資料、視覺化、機器學習、深度學習、分散式學習、自然語言處理、資料採集,共20個:

    一、核心庫和統計資料

    1. NumPy (Commits: 17911, Contributors: 641)

    官網:http://www.numpy.org/

    NumPy 是科學應用程式庫的主要軟體包之一,用於處理大型多維陣列和矩陣,它大量的高階數學函式集合和實現方法使得這些物件執行操作成為可能。

    2. SciPy (Commits: 19150, Contributors: 608)

    官網:https://scipy.org/scipylib/

    科學計算的另一個核心庫是 SciPy。它基於 NumPy,其功能也因此得到了擴充套件。SciPy 主資料結構又是一個多維陣列,由 Numpy 實現。這個軟體包包含了幫助解決線性代數、機率論、積分計算和許多其他任務的工具。此外,SciPy 還封裝了許多新的 BLAS 和 LAPACK 函式。

    3. Pandas (Commits: 17144, Contributors: 1165)

    官網:https://pandas.pydata.org/

    Pandas 是一個 Python 庫,提供高階的資料結構和各種各樣的分析工具。這個軟體包的主要特點是能夠將相當複雜的資料操作轉換為一兩個命令。Pandas包含許多用於分組、過濾和組合資料的內建方法,以及時間序列功能。

    4. StatsModels (Commits: 10067, Contributors: 153)

    官網:http://www.statsmodels.org/devel/

    Statsmodels 是一個 Python 模組,它為統計資料分析提供了許多機會,例如統計模型估計、執行統計測試等。在它的幫助下,你可以實現許多機器學習方法並探索不同的繪圖可能性。

    Python 庫不斷髮展,不斷豐富新的機遇。因此,今年出現了時間序列的改進和新的計數模型,即 GeneralizedPoisson、零膨脹模型(zero inflated models)和 NegativeBinomialP,以及新的多元方法:因子分析、多元方差分析以及方差分析中的重複測量。

    二、視覺化

    5. Matplotlib (Commits: 25747, Contributors: 725)

    官網:https://matplotlib.org/index.html

    Matplotlib 是一個用於建立二維圖和圖形的底層庫。藉由它的幫助,你可以構建各種不同的圖示,從直方圖和散點圖到費笛卡爾座標圖。此外,有許多流行的繪相簿被設計為與matplotlib結合使用。

    6. Seaborn (Commits: 2044, Contributors: 83)

    官網:https://seaborn.pydata.org/

    Seaborn 本質上是一個基於 matplotlib 庫的高階 API。它包含更適合處理圖表的預設設定。此外,還有豐富的視覺化庫,包括一些複雜型別,如時間序列、聯合分佈圖(jointplots)和小提琴圖(violin diagrams)。

    7. Plotly (Commits: 2906, Contributors: 48)

    官網:https://plot.ly/python/

    Plotly 是一個流行的庫,它可以讓你輕鬆構建複雜的圖形。該軟體包適用於互動式 Web 應用程,可實現輪廓圖、三元圖和三維圖等視覺效果。

    8. Bokeh (Commits: 16983, Contributors: 294)

    官網:https://bokeh.pydata.org/en/latest/

    Bokeh 庫使用 JavaScript 小部件在瀏覽器中建立互動式和可縮放的視覺化。該庫提供了多種圖表集合,樣式可能性(styling possibilities),連結圖、新增小部件和定義回撥等形式的互動能力,以及許多更有用的特性。

    9. Pydot (Commits: 169, Contributors: 12)

    官網:https://pypi.org/project/pydot/

    Pydot 是一個用於生成複雜的定向圖和無向圖的庫。它是用純 Python 編寫的Graphviz 介面。在它的幫助下,可以顯示圖形的結構,這在構建神經網路和基於決策樹的演算法時經常用到。

    三、機器學習

    10. Scikit-learn (Commits: 22753, Contributors: 1084)

    官網:http://scikit-learn.org/stable/

    這個基於 NumPy 和 SciPy 的 Python 模組是處理資料的最佳庫之一。它為許多標準的機器學習和資料探勘任務提供演算法,如聚類、迴歸、分類、降維和模型選擇。利用 Data Science School 提高你的技能。

    Data Science School:http://datascience-school.com/

    11. XGBoost / LightGBM / CatBoost (Commits: 3277 / 1083 / 1509, Contributors: 280 / 79 / 61)

    官網:http://xgboost.readthedocs.io/en/latest/http://lightgbm.readthedocs.io/en/latest/Python-Intro.htmlhttps://github.com/catboost/catboost

    梯度增強演算法是最流行的機器學習演算法之一,它是建立一個不斷改進的基本模型,即決策樹。因此,為了快速、方便地實現這個方法而設計了專門庫。就是說,我們認為 XGBoost、LightGBM 和 CatBoost 值得特別關注。它們都是解決常見問題的競爭者,並且使用方式幾乎相同。這些庫提供了高度最佳化的、可擴充套件的、快速的梯度增強實現,這使得它們在資料科學家和 Kaggle 競爭對手中非常流行,因為在這些演算法的幫助下贏得了許多比賽。

    12. Eli5 (Commits: 922, Contributors: 6)

    官網:https://eli5.readthedocs.io/en/latest/

    通常情況下,機器學習模型預測的結果並不完全清楚,這正是 Eli5 幫助應對的挑戰。它是一個用於視覺化和除錯機器學習模型並逐步跟蹤演算法工作的軟體包,為 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 庫提供支援,併為每個庫執行不同的任務。

    四、深度學習

    13. TensorFlow (Commits: 33339, Contributors: 1469)

    官網:https://www.tensorflow.org/

    TensorFlow 是一個流行的深度學習和機器學習框架,由 Google Brain 開發。它提供了使用具有多個數據集的人工神經網路的能力。在最流行的 TensorFlow應用中有目標識別、語音識別等。在常規的 TensorFlow 上也有不同的 leyer-helper,如 tflearn、tf-slim、skflow 等。

    14. PyTorch (Commits: 11306, Contributors: 635)

    官網:https://pytorch.org/

    PyTorch 是一個大型框架,它允許使用 GPU 加速執行張量計算,建立動態計算圖並自動計算梯度。在此之上,PyTorch 為解決與神經網路相關的應用程式提供了豐富的 API。該庫基於 Torch,是用 C 實現的開源深度學習庫。

    15. Keras (Commits: 4539, Contributors: 671)

    官網:https://keras.io/

    Keras 是一個用於處理神經網路的高階庫,執行在 TensorFlow、Theano 之上,現在由於新版本的釋出,還可以使用 CNTK 和 MxNet 作為後端。它簡化了許多特定的任務,並且大大減少了單調程式碼的數量。然而,它可能不適合某些複雜的任務。

    五、分散式深度學習

    16. Dist-keras / elephas / spark-deep-learning (Commits: 1125 / 170 / 67, Contributors: 5 / 13 / 11)

    官網:http://joerihermans.com/work/distributed-keras/https://pypi.org/project/elephas/https://databricks.github.io/spark-deep-learning/site/index.html

    隨著越來越多的用例需要花費大量的精力和時間,深度學習問題變得越來越重要。然而,使用像 Apache Spark 這樣的分散式計算系統,處理如此多的資料要容易得多,這再次擴充套件了深入學習的可能性。因此,dist-keras、elephas 和 spark-deep-learning 都在迅速流行和發展,而且很難挑出一個庫,因為它們都是為解決共同的任務而設計的。這些包允許你在 Apache Spark 的幫助下直接訓練基於 Keras 庫的神經網路。Spark-deep-learning 還提供了使用 Python 神經網路建立管道的工具。

    六、自然語言處理

    17. NLTK (Commits: 13041, Contributors: 236)

    官網:https://www.nltk.org/

    NLTK 是一組庫,一個用於自然語言處理的完整平臺。在 NLTK 的幫助下,你可以以各種方式處理和分析文字,對文字進行標記和標記,提取資訊等。NLTK 也用於原型設計和建立研究系統。

    18. SpaCy (Commits: 8623, Contributors: 215)

    官網:https://spacy.io/

    SpaCy 是一個具有優秀示例、API 文件和演示應用程式的自然語言處理庫。這個庫是用 Cython 語言編寫的,Cython 是 Python 的 C 擴充套件。它支援近 30 種語言,提供了簡單的深度學習整合,保證了健壯性和高準確率。SpaCy 的另一個重要特性是專為整個文件處理設計的體系結構,無須將文件分解成短語。

    19. Gensim (Commits: 3603, Contributors: 273)

    官網:https://radimrehurek.com/gensim/

    Gensim 是一個用於健壯語義分析、主題建模和向量空間建模的 Python 庫,構建在Numpy和Scipy之上。它提供了流行的NLP演算法的實現,如 word2vec。儘管 gensim 有自己的 models.wrappers.fasttext實現,但 fasttext 庫也可以用來高效學習詞語表示。

    七、資料採集

    20. Scrapy (Commits: 6625, Contributors: 281)

    官網:https://scrapy.org/

    Scrapy 是一個用來建立網路爬蟲,掃描網頁和收集結構化資料的庫。此外,Scrapy 可以從 API 中提取資料。由於該庫的可擴充套件性和可移植性,使得它用起來非常方便。

  • 10 # 小小猿愛嘻嘻

    這個就非常多啦,下面我簡單介紹幾個非常不錯的Python庫,感興趣的朋友可以嘗試一下:

    01tensorflow

    這是谷歌一個非常著名的開源機器學習框架,在業界非常流行,社群資料豐富,介面文件全面,能隨時隨地構建可靠的機器學習模型,快速驗證演算法有效性,如果你是一個科研人員或工程人員,那麼tensorflow就是一個非常不錯的輔助工具,值得學習和使用:

    02pandas

    這是Python一個非常著名的資料處理庫,在業界非常受歡迎,內建了大量函式和型別,可以輕鬆處理各種檔案,包括常見的Excel,CSV,Txt,Json等,程式碼量更少,功能也更強大,如果你需要進行復雜的資料處理,那麼pandas就是一個非常不錯的選擇:

    03tushare

    這是Python一個非常不錯的財經金融庫,免費、開源,集成了股票等金融資料從採集、清洗、加工到儲存的全過程,極大的減輕了金融分析人員的工作量,如果你對金融股票等資料感興趣,想快速獲取到想要的資訊,那麼tushare就是一個非常不錯的選擇:

    04scrapy

    這是Python一個非常著名的爬蟲框架,在爬蟲界非常受歡迎,免費、開源、跨平臺,可定製化程度非常高,只需編寫少量程式碼就可快速啟動一個爬蟲程式,相比較requests等輕型爬蟲庫,程式碼更簡潔,效率更高,如果經常需要採集網頁資料,那麼scrapy就是一個非常不錯的選擇:

    05you-get

    這是Python一個非常不錯的影片下載工具,免費、開源、跨平臺,可以快速下載B站、優酷、美拍等網站影片(圖片、音訊也可下載),支援線上播放、批次下載,如果你經常需要下載網頁影片,缺少一個輕便靈活的下載工具,那麼you-get就是一個非常不錯的選擇,當然,youtube-dl也非常不錯:

    目前,就分享這5個非常不錯的Python庫吧,對於日常學習和辦公來說,非常有用,只要你熟悉一下使用過程,很快就能掌握的,當然,還有許多其他庫,像Matplotlib,Django,Scikit-learn等也都非常不錯,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

  • 11 # 使用者50252761453

    庫結構是python 的靈魂,是python 的七十二變。pandas,numpy 等大大提高了資料處理的效率

  • 12 # 大王來鬧騰

    隨便舉幾個,scrapy 爬蟲 requests 爬蟲 selenium web自動化操作和測試,也可以當爬蟲來用 beautifulsoup web頁面解析 sklearn機器學習 pandas, numpy資料操作Django web開發框架,還有一個zzzz是我自己寫的

  • 13 # 軟體測試開發技術棧

    談到 Python中相見恨晚的第三方模庫,我想應該是一些能夠顛覆自己之前程式碼實現的庫,在支援功能、程式碼設計簡潔方面有著非常突出的優勢。很開心,在上半年遇到這樣的一個Python第三方庫—— pandas-profiling。這是一個對資料集進行探索性資料分析(Exploratory data analysis)的庫,我們先來看下它能做什麼,如下:

    我們可以看到它輸出了包含了各個維度的探索性資料分析統計結果,而關鍵的是pandas-profiling 僅用三行程式碼 就輸出瞭如上的所有資料分析統計結果——強無敵。

    接下來,我們來認識一下Python pandas-profiling 庫。

    較以往

    我們使用 Pandas進行資料分析時,首先要對資料集進行探索性資料分析,以便對資料集有一個大體的瞭解,明確後續資料預處理、分析方向。資料EDA大致包含如下內容:

    感知資料直觀表現挖掘潛在結構提取重要變數處理異常值檢驗統計假設建立初步模型決定最優因子的設定

    以往,我們首先會使用 pandas.describe 方法,對資料集可以有個大體的瞭解,如下:

    我們使用 pandas.describe可以看到如下 資料量、平均值、標準值、最小值等資訊。

    當然這些資訊對於我們資料集探索還這遠遠不夠,然後我們會再透過分析資料各維之間的關係,如使用折線圖,散點圖,關聯分析等等,進一步探索資料集。

    不難發現,我們要完成資料EDA操作,通常需要連續的若干步驟的操作,比較繁瑣。

    相見恨晚

    直到看到了pandas-profiling專案,其使用 df.profile_report 擴充套件了Pandas DataFrame,實現了一行程式碼就可以生成一份超詳細的資料分析報告,強無敵!

    報告中包含以下關鍵資訊:

    概要:型別、惟一值、缺失值。分位數統計:如最小值,較小四分位數,中位數,較大四分位數。描述性統計:均值、標準差和中位數絕對偏差、變異係數、峰度、偏度。相關性:突出高度相關的變數,斯皮爾曼,皮爾遜和肯德爾矩陣。缺失值:矩陣、計數、熱圖和樹狀圖的缺失值。

    下面,我們以泰坦尼克號資料集為例,來一起體驗一下 pandas_profiling 的強大。程式碼十分簡潔,如下:

    執行上述程式碼,就會生成我們開頭Gif動圖中的html檔案,為了方便我們更清楚的看到html中的內容,我們截圖了其中部分內容的截圖,如下:

  • 中秋節和大豐收的關聯?
  • 如何優雅的在手機上進行Python程式設計?