偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

數(shù)據(jù)處理一條龍!這15個(gè)Python庫(kù)不可不知

開(kāi)發(fā) 后端
從數(shù)據(jù)收集、清理轉(zhuǎn)化,到數(shù)據(jù)可視化、圖像識(shí)別和網(wǎng)頁(yè)相關(guān),這15個(gè)Python庫(kù)涵蓋廣泛,本文將對(duì)它們進(jìn)行簡(jiǎn)介。

本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)

如果你是一名數(shù)據(jù)科學(xué)家或數(shù)據(jù)分析師,或者只是對(duì)這一行業(yè)感興趣,那下文中這些廣受歡迎且非常實(shí)用的Python庫(kù)你一定得知道。

從數(shù)據(jù)收集、清理轉(zhuǎn)化,到數(shù)據(jù)可視化、圖像識(shí)別和網(wǎng)頁(yè)相關(guān),這15個(gè)Python庫(kù)涵蓋廣泛,本文將對(duì)它們進(jìn)行簡(jiǎn)介。

想必其中一些你已經(jīng)熟知,但如果有不知道的,強(qiáng)烈建議你一定要好好了解一下。

[[322887]]

數(shù)據(jù)收集

大部分?jǐn)?shù)據(jù)分析項(xiàng)目都始于數(shù)據(jù)收集和提取。在一些情況下,當(dāng)為公司處理現(xiàn)存問(wèn)題時(shí),公司可能會(huì)提供相關(guān)的數(shù)據(jù)組。但有些時(shí)候,可能并沒(méi)有現(xiàn)成的數(shù)據(jù),需要數(shù)據(jù)工程師自行收集。最常見(jiàn)的情況就是,數(shù)據(jù)工程師需要從網(wǎng)上自行尋找數(shù)據(jù)。

1. Scrapy

 

數(shù)據(jù)處理一條龍!這15個(gè)Python庫(kù)不可不知

 

 

圖源:letslearnabout

 

要想編寫(xiě)一個(gè)Python網(wǎng)絡(luò)爬蟲(chóng)來(lái)從網(wǎng)頁(yè)上提取信息,Scrapy可能是大部分人第一個(gè)想到的Python庫(kù)。例如,使用者可以提取某城市所有餐廳的評(píng)論或是收集網(wǎng)購(gòu)網(wǎng)站上某一種產(chǎn)品的所有評(píng)論。

對(duì)于該庫(kù)最常見(jiàn)的用法是利用它來(lái)識(shí)別出現(xiàn)在網(wǎng)站頁(yè)面上那些有趣的信息模式,無(wú)論這些信息是以URL的形式出現(xiàn)還是以XPath的形式出現(xiàn)。一旦理清了這些信息的模式,Scrapy就可以協(xié)助使用者自動(dòng)提取所需信息,并將其整理為表格或JSON格式的數(shù)據(jù)結(jié)構(gòu)。

使用pip即可輕松安裝Scrapy。

2. Selenium

 

數(shù)據(jù)處理一條龍!這15個(gè)Python庫(kù)不可不知

 

 

圖源:medium

 

Selenium設(shè)計(jì)者的初衷是將其打造成一個(gè)自動(dòng)網(wǎng)站測(cè)試框架,但開(kāi)發(fā)者們發(fā)現(xiàn)將其用作網(wǎng)頁(yè)數(shù)據(jù)抓取工具的效果更佳。

使用者在感興趣的網(wǎng)站上已經(jīng)進(jìn)行了交互行為之后,Selenium一般能派上用場(chǎng)。比如說(shuō),使用者可能需要在網(wǎng)站上注冊(cè)一個(gè)賬戶(hù),登陸自己的賬戶(hù),再點(diǎn)擊幾個(gè)按鈕或是鏈接才能找到自己想要的內(nèi)容。

上述鏈接被定義為JavaScript函數(shù)。在這一情況下,要應(yīng)用Scrapy或者Beautiful Soup可能都不是很便捷,但使用Selenium就可以輕而易舉地完成這一過(guò)程。

但應(yīng)當(dāng)注意,Selenium比普通的抓取庫(kù)運(yùn)行速度要慢得多。這是因?yàn)镾elenium會(huì)將Chrome這樣的瀏覽器初始化并模擬瀏覽器代碼定義的所有行為。

因此,在處理URL模式或Xpaths時(shí),最好還是使用Scrapy或者Beautiful Soup,不到萬(wàn)不得已不要使用Selenium。

3. BeautifulSoup

 

數(shù)據(jù)處理一條龍!這15個(gè)Python庫(kù)不可不知

 

 

圖源:gitconnected

 

Beautiful Soup是另一個(gè)可以用來(lái)收集網(wǎng)站內(nèi)容的Python庫(kù)。業(yè)界普遍認(rèn)為,學(xué)習(xí)BeautifulSoup所需時(shí)間比學(xué)習(xí)Scrapy所需時(shí)間要短很多。除此之外,Beautiful Soup更適合應(yīng)用于規(guī)模相對(duì)較小的問(wèn)題或一次性的任務(wù)。

Scrapy要求使用者開(kāi)發(fā)自己的“爬蟲(chóng)”并通過(guò)命令行進(jìn)行操作,而使用Beautiful Soup只需將其功能導(dǎo)入計(jì)算機(jī)中并聯(lián)機(jī)使用即可。因此,使用者甚至可以將Beautiful Soup應(yīng)用于自己的Jupyternotebook。

數(shù)據(jù)清理和轉(zhuǎn)化

數(shù)據(jù)清理和轉(zhuǎn)化的重要意義無(wú)需贅述,已經(jīng)有很多出色的Python庫(kù)能夠完美地處理這一問(wèn)題。筆者將選擇幾個(gè)作為數(shù)據(jù)科學(xué)家或分析師不可不知的進(jìn)行簡(jiǎn)要介紹。

4. Pandas

這里提Pandas可能有點(diǎn)多余了,只要是處理過(guò)數(shù)據(jù)的從業(yè)者,就不可能沒(méi)用過(guò)Pandas。

使用者可以運(yùn)用Pandas操控處于Pandas數(shù)據(jù)框架內(nèi)的數(shù)據(jù)。Pandas還內(nèi)置巨量的函數(shù),幫助使用者進(jìn)行數(shù)據(jù)轉(zhuǎn)換。

無(wú)需多言,要想學(xué)好Python,Pandas必不可少。

5. Numpy

 

數(shù)據(jù)處理一條龍!這15個(gè)Python庫(kù)不可不知

 

 

圖源:medium

 

無(wú)論是普通用戶(hù),還是數(shù)據(jù)科學(xué)家和分析師,Numpy都和Pandas一樣,是一個(gè)不可或缺的Python庫(kù)。

Numpy將Python的對(duì)象列表拓展成了全面的多維度序列。同時(shí),Numpy還內(nèi)置了海量的數(shù)學(xué)函數(shù),這些函數(shù)幾乎能滿(mǎn)足使用者所有的運(yùn)算要求。通常情況下,使用者可以將Numpy序列用作矩陣并進(jìn)行矩陣運(yùn)算。

筆者認(rèn)為,大部分的數(shù)據(jù)科學(xué)家開(kāi)始寫(xiě)Python代碼時(shí),第一步都是輸入以下內(nèi)容:

  1. import numpy as np  
  2. import pandas as pd 

因此,說(shuō)以上兩個(gè)庫(kù)是Python使用者中最受歡迎的無(wú)可厚非。

6. Spacy

 

數(shù)據(jù)處理一條龍!這15個(gè)Python庫(kù)不可不知

 

 

圖源:medium

 

Spacy可能不像上兩個(gè)庫(kù)一樣名聲遠(yuǎn)揚(yáng)。Numpy和Pandas主要用于處理數(shù)值型數(shù)據(jù)和結(jié)構(gòu)型數(shù)據(jù),而Spacy則能夠幫助使用者將自由文本轉(zhuǎn)化為結(jié)構(gòu)型數(shù)據(jù)。

Spacy是最受歡迎的自然語(yǔ)言處理庫(kù)之一。從購(gòu)物網(wǎng)站上抓取了大量的產(chǎn)品評(píng)論后需要從中提取有用的信息才能對(duì)它們進(jìn)行分析。Spacy含有大量的內(nèi)置功能,這些功能能對(duì)使用者的工作提供大量幫助。例如詞法分析器,已命名個(gè)體識(shí)別以及特定文本檢測(cè)。

Spacy還有一大亮點(diǎn),即它支持多種語(yǔ)言版本。其官網(wǎng)上聲稱(chēng)該庫(kù)提供超55種語(yǔ)言版本。

數(shù)據(jù)可視化

數(shù)據(jù)可視化是數(shù)據(jù)分析中不可或缺的環(huán)節(jié),只有將結(jié)果進(jìn)行可視化處理才能對(duì)數(shù)據(jù)內(nèi)容進(jìn)行解釋。

7. Matplotlib

圖源:scriptverse

Matplotlib是最全面的Python數(shù)據(jù)可視化庫(kù)。有人認(rèn)為Matplotlib的界面很難看,但筆者認(rèn)為,作為最基礎(chǔ)的Python數(shù)據(jù)可視化庫(kù),Matplotlib能為使用者的可視化目標(biāo)提供最大的可能性。

使用JavaScript的開(kāi)發(fā)者們也有各自偏好的可視化庫(kù),但當(dāng)所處理的任務(wù)中涉及大量不被高級(jí)庫(kù)所支持的定制功能時(shí),開(kāi)發(fā)者們就必須用到D3.js。Matplotlib也是如此。

8. Plotly

[[322895]]

圖源:pngitem

雖然筆者堅(jiān)信要進(jìn)行數(shù)據(jù)可視化,就必須得掌握Matplotlib,但大多數(shù)情況下讀者更愿意使用Plotly,因?yàn)槭褂肞lotly只需要寫(xiě)最少的代碼就能得出最多彩繽紛的圖像。

無(wú)論是想構(gòu)造一張3D表面圖,或是一張基于地圖的散點(diǎn)圖,又或是一張交互性動(dòng)畫(huà)圖,Plotly都能在最短的時(shí)間內(nèi)滿(mǎn)足要求。

Plotly還提供一個(gè)表格工作室,使用者可以將自己的可視化上傳到一個(gè)在線存儲(chǔ)庫(kù)中以便未來(lái)進(jìn)行編輯。

數(shù)據(jù)模塊化

從事模塊化的數(shù)據(jù)分析師通常會(huì)被稱(chēng)為高級(jí)分析師。如今,機(jī)器學(xué)習(xí)已經(jīng)不是什么新鮮概念了。而Python通常被認(rèn)為是機(jī)器學(xué)習(xí)最常用的語(yǔ)言,因此也有大量出色的庫(kù)支持在Python中使用。

9. Scikit Learn

圖源:kindpng

在沉溺于“深度學(xué)習(xí)”之前,所有人都應(yīng)當(dāng)從使用Scikit Learn來(lái)開(kāi)啟自己的機(jī)器學(xué)習(xí)之旅。Scikit Learn有六大主要模塊,功能如下:

  • 數(shù)據(jù)預(yù)處理
  • 維度縮減
  • 數(shù)據(jù)回歸
  • 數(shù)據(jù)分類(lèi)
  • 數(shù)據(jù)聚類(lèi)分析
  • 模型選擇

只要能用好Scikit Learn,就已經(jīng)算得上是一名優(yōu)秀的數(shù)據(jù)科學(xué)家了。

10. Tensorflow

Tensorflow是由谷歌推出的開(kāi)源機(jī)器學(xué)習(xí)庫(kù)。它最受歡迎的功能便是Tensorboard上的數(shù)據(jù)流圖像。

Tensorboard是一個(gè)基于網(wǎng)頁(yè)自動(dòng)生成的儀表盤(pán),它將數(shù)據(jù)學(xué)習(xí)流和結(jié)果進(jìn)行了可視化處理,這一功能對(duì)于排錯(cuò)和展示都十分有用。

11. PyTorch

圖源:mattolpinski

PyTorch是由Facebook發(fā)布的一個(gè)開(kāi)源庫(kù),用作Python的公用機(jī)器學(xué)習(xí)框架。與Tensorflow相比,PyTorch的語(yǔ)句更加適用于Python。正因此,學(xué)習(xí)使用PyTorch也更加容易。

作為一個(gè)專(zhuān)注于深度學(xué)習(xí)的庫(kù),PyTorch還具有非常豐富的應(yīng)用程序接口函數(shù)和內(nèi)置函數(shù)來(lái)協(xié)助數(shù)據(jù)科學(xué)家更加快捷地訓(xùn)練自己的深度學(xué)習(xí)模型。

音頻和圖像識(shí)別

機(jī)器學(xué)習(xí)不僅能夠處理數(shù)字,同時(shí)也能幫助處理音頻和圖像(視頻往往被認(rèn)為是很多幀圖像組合在一起)。因此處理這些多媒體數(shù)據(jù)時(shí),上述機(jī)器學(xué)習(xí)庫(kù)遠(yuǎn)遠(yuǎn)不夠。

12. OpenCV

圖源:opencv

OpenCV是最常用的圖像和視頻識(shí)別庫(kù)。毫不夸張地說(shuō),OpenCV能讓Python在圖像和視頻識(shí)別領(lǐng)域完全替代Matlab。

OpenCV提供各種應(yīng)用程序接口,同時(shí)它不僅支持Python,還支持Java和Matlab。OpenCV出色的處理能力使其在計(jì)算機(jī)產(chǎn)業(yè)和學(xué)術(shù)研究中都廣受好評(píng)。

13. Librosa

圖源:github

Librosa是一個(gè)非常強(qiáng)大的音頻和聲音處理Python庫(kù)。Librosa可以用來(lái)從音頻段中提取各個(gè)部分,例如韻律,節(jié)奏以及節(jié)拍。

像Laplacia分割這樣極度復(fù)雜的算法,在使用了Librosa之后只需幾行代碼就能輕而易舉的運(yùn)用。

網(wǎng)頁(yè)

Python在被廣泛運(yùn)用于數(shù)據(jù)科學(xué)領(lǐng)域前,曾經(jīng)可是網(wǎng)頁(yè)開(kāi)發(fā)領(lǐng)域的寵兒。因此也有很多用于網(wǎng)頁(yè)開(kāi)發(fā)的庫(kù)。

14. Django

圖源:amsterdam

要想使用Python來(lái)開(kāi)發(fā)一個(gè)網(wǎng)頁(yè)服務(wù)后端,Django一直都是不二之選。Django的設(shè)計(jì)理念便是,能用幾行代碼就建立一個(gè)網(wǎng)站的高級(jí)框架。

Django直接與大多數(shù)知名數(shù)據(jù)庫(kù)相連,這樣使用者就可以省下建立連接和數(shù)據(jù)模型開(kāi)發(fā)的時(shí)間。Django的使用者只需專(zhuān)注于業(yè)務(wù)邏輯而不需擔(dān)心受創(chuàng)建、更新、讀取和刪除(Create,update,retrieve and delete, CURD)的操控,因?yàn)镈jango是一個(gè)由數(shù)據(jù)庫(kù)驅(qū)動(dòng)的框架。

15. Flask

 

[[322902]]

 

 

圖源:pythonprogramming

 

Flask是一個(gè)用于Python的輕量級(jí)網(wǎng)頁(yè)開(kāi)發(fā)框架。其最寶貴的特點(diǎn)是能夠輕而易舉地進(jìn)行能夠滿(mǎn)足任何需求的定制化處理。

有很多提供網(wǎng)站UI的知名Python庫(kù)和Python工具都是使用Flask構(gòu)建的,例如Plotly Dash和Airflow。這些網(wǎng)站之所以使用Flask,正是由于其輕量級(jí)的特點(diǎn)。

誠(chéng)然,還有許多優(yōu)秀的Python庫(kù)應(yīng)當(dāng)被提及,但上述這些庫(kù)就足夠你研究好一陣子了。人生苦短,及時(shí)Python!

 

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2024-03-21 08:57:39

語(yǔ)言軟件開(kāi)發(fā)

2015-05-11 10:28:11

Web開(kāi)發(fā)者編碼原則

2024-09-23 21:05:45

2021-08-12 16:02:22

Jupyter NotPython命令

2013-09-13 09:58:49

2010-06-11 14:46:38

可路由協(xié)議

2014-06-20 14:35:48

浪潮數(shù)據(jù)

2019-08-18 23:10:14

數(shù)據(jù)科學(xué)算法數(shù)學(xué)

2023-06-12 00:38:55

開(kāi)源Java庫(kù)工具

2025-01-03 17:10:54

2025-04-27 00:00:00

Milvus向量數(shù)據(jù)庫(kù)AI

2023-11-13 14:19:57

Golang編程語(yǔ)言

2023-09-20 09:00:00

2023-09-22 12:14:33

2021-03-02 13:40:37

云計(jì)算網(wǎng)絡(luò)安全IT

2012-11-08 14:28:16

2020-02-26 17:32:57

WindowsWindows 10操作系統(tǒng)

2024-08-20 00:00:05

2020-11-30 13:12:04

Linux文本命令

2015-01-15 09:34:28

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)