




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
《大數(shù)據(jù)分析與挖掘》項目1NumPy數(shù)值分析項目2Pandas統(tǒng)計分析項目3基于Matplotlib的數(shù)據(jù)可視項目4Hadoop平臺及組件部署項目5Spark組件部署項目6數(shù)據(jù)采集全套可編輯PPT課件
本課件是可編輯的正常PPT課件Numpy數(shù)值分析本課件是可編輯的正常PPT課件01認識ndarray02ndarray的創(chuàng)建03ndarray的操作04ndarray的運算CONTENTS目錄numpy的常用函數(shù)05numpy的文件操作06本課件是可編輯的正常PPT課件引入numpy模塊ndarray的屬性ndarray概述ndarray的元素類型01本課件是可編輯的正常PPT課件運行環(huán)境(Windows平臺)python3.7/進行下載安裝Pycharm:/pycharm/download/#section=windows選擇社區(qū)版進行下載安裝安裝后python3.7后,然后使用下面的命令安裝numpy和pandaspipinstallnumpypipinstallpandas本課件是可編輯的正常PPT課件認識并引入Numpyimportnumpyasnp引入模塊的別名NumPy是一個開源的Python科學計算基礎庫,包含:一個強大的N維數(shù)組對象ndarray廣播功能函數(shù)整合C/C++/Fortran代碼的工具線性代數(shù)、傅里葉變換、隨機數(shù)生成等功能NumPy是Pandas等數(shù)據(jù)處理或科學計算庫的基礎本課件是可編輯的正常PPT課件N維數(shù)組對象:ndarray(1)Python已有列表類型,為什么需要一個數(shù)組對象(類型)?例:計算A+B,其中,A和B是一維數(shù)組本課件是可編輯的正常PPT課件N維數(shù)組對象:ndarray(1)ndarray是一個多維數(shù)組對象,由兩部分構(gòu)成:?實際的數(shù)據(jù)?描述這些數(shù)據(jù)的元數(shù)據(jù)(數(shù)據(jù)維度、數(shù)據(jù)類型等)ndarray數(shù)組一般要求所有元素類型相同(同質(zhì)),數(shù)組下標從0開始本課件是可編輯的正常PPT課件ndarray對象的屬性
屬性說明ndim返回int。表示數(shù)組的維度shape返回tuple。表示數(shù)組的尺寸,對于n行m列的矩陣,形狀為(n,m)size返回int。表示數(shù)組的元素總數(shù),等于數(shù)組形狀的乘積n*mdtype返回data-type。描述數(shù)組中元素的類型itemsize返回int。表示數(shù)組的每個元素的大小(以字節(jié)為單位)。本課件是可編輯的正常PPT課件ndarray實例本課件是可編輯的正常PPT課件ndarray的元素類型類型類型代碼說明int8、unit8i1、u1有符號和無符號的8位整型int16、unit16i2、u2有符號和無符號的16位整型int32、unit32i4、u4有符號和無符號的32位整型int64、unit64i8、u8有符號和無符號的64位整型float16f2半精度浮點數(shù)float32f4或f標準的單精度浮點數(shù)float64f8或d標準的雙精度浮點數(shù)bool?存儲True和False值的布爾類型objectOPython對象類型stringS固定長度的字符串類型本課件是可編輯的正常PPT課件可以通過ndarray的astype的方式轉(zhuǎn)換其dtype如果將浮點數(shù)轉(zhuǎn)換成整數(shù),那么小數(shù)部分就會被截斷,如果某字符數(shù)組表示的全是數(shù)字,也可以使用astype將其轉(zhuǎn)換成數(shù)值形式:本課件是可編輯的正常PPT課件列表、元組等Numpy中函數(shù)ndarray的創(chuàng)建02本課件是可編輯的正常PPT課件1、從列表、元組等類型創(chuàng)建ndarray數(shù)組(1)從Python中的列表、元組等類型創(chuàng)建ndarray數(shù)組
x
=
np.array(列表/元組)
x
=
np.array(列表/元組,dtype=np.float32)當np.array()不指定dtype時,Numpy將根據(jù)數(shù)據(jù)情況關(guān)聯(lián)一個dtype類型本課件是可編輯的正常PPT課件1、從列表、元組等類型創(chuàng)建ndarray數(shù)組——示例從列表類型創(chuàng)建從元組類型創(chuàng)建從列表和元組混合類型創(chuàng)建本課件是可編輯的正常PPT課件2.1、Numpy函數(shù)創(chuàng)建ndarray數(shù)組(2)使用NumPy中函數(shù)創(chuàng)建ndarray數(shù)組,如:arange,
ones,
zeros等函數(shù)說明np.arange(n)類似range()函數(shù),返回ndarray類型,元素從0到n-1np.ones(shape)根據(jù)shape生產(chǎn)一個全1數(shù)組,shape是元組類型np.zeros(shape)根據(jù)shape生成一個全0數(shù)組,shape是元組類型np.full(shape,val)根據(jù)shape生成一個數(shù)組,每個元素值都是valnp.eye(n)創(chuàng)建一個正方形的n*n的單位矩陣,對角線為1,其余為0本課件是可編輯的正常PPT課件2.1、Numpy函數(shù)創(chuàng)建ndarray數(shù)組——示例本課件是可編輯的正常PPT課件2.2、Numpy函數(shù)創(chuàng)建ndarray數(shù)組(3)使用NumPy中函數(shù)創(chuàng)建ndarray數(shù)組,如:ones_like、zeros_like、full_like等函數(shù)說明np.ones_like(a)根據(jù)數(shù)組a的形狀生成一個全1數(shù)組np.zeros_like(a)根據(jù)數(shù)組a的形狀生成i一個全0數(shù)組np.full_like(a,val)根據(jù)數(shù)組a的形狀生成一個數(shù)組,每個元素值都是val本課件是可編輯的正常PPT課件2.2、Numpy函數(shù)創(chuàng)建ndarray數(shù)組——示例本課件是可編輯的正常PPT課件2.3、Numpy函數(shù)創(chuàng)建ndarray數(shù)組(4)使用NumPy中其他函數(shù)創(chuàng)建ndarray數(shù)組函數(shù)說明np.linspace()根據(jù)起止數(shù)據(jù)等間距地填充數(shù)據(jù),形成數(shù)組np.concatenate()將兩個或多個數(shù)組合并成一個新的數(shù)組本課件是可編輯的正常PPT課件2.3、Numpy函數(shù)創(chuàng)建ndarray數(shù)組——示例本課件是可編輯的正常PPT課件維度操作切片操作ndarray的操作組合與拆分操作03本課件是可編輯的正常PPT課件ndarray數(shù)組對象的維度操作方法說明.reshape(shape)不改變數(shù)組元素,返回一個shape形狀的數(shù)組,原數(shù)組不變.resize(shape)與.reshape()功能一致,但修改原數(shù)組.flatten()對數(shù)組進行降維,返回一個一維數(shù)組,原數(shù)組不變本課件是可編輯的正常PPT課件ndarray數(shù)組對象的維度操作——示例本課件是可編輯的正常PPT課件ndarray數(shù)組切片操作數(shù)組對象切片的參數(shù)設置與列表切片參數(shù)類似步長+:默認切從首到尾步長-:默認切從尾到首數(shù)組對象[起始位置:終止位置:步長]默認位置步長:1本課件是可編輯的正常PPT課件ndarray數(shù)組切片操作——一維數(shù)組切片importnumpyasnpa=np.arange(1,10)print(a)
#123456789print(a[:2])
#12print(a[3:7])
#4567print(a[5:])
#6789print(a[::-1])
#987654321print(a[:-5:-1])
#9876print(a[-5:-7:-1])
#54print(a[-8::-1])
#21print(a[::])
#123456789print(a[:])
#123456789print(a[::2])
#13
579print(a[1::3])
#258print(a[2::3])
#369本課件是可編輯的正常PPT課件ndarray數(shù)組切片操作——二維數(shù)組切片a=np.arange(1,10)a=a.reshape(3,3)print(a)print(a[:2,:])#切出前兩行數(shù)據(jù)print(a[:2,:2])#切出前兩行兩列數(shù)據(jù)print(a[::2,:])#切除0行和第2行數(shù)據(jù)本課件是可編輯的正常PPT課件一維數(shù)組的組合與拆分垂直方向操作:importnumpyasnpa=np.arange(1,7).reshape(2,3)b=np.arange(7,13).reshape(2,3)#垂直方向完成組合操作,生成新數(shù)組c=np.vstack((a,b))#垂直方向完成拆分操作,生成兩個數(shù)組d,e=np.vsplit(c,2)水平方向操作:importnumpyasnpa=np.arange(1,7).reshape(2,3)b=np.arange(7,13).reshape(2,3)#水平方向完成組合操作,生成新數(shù)組c=np.hstack((a,b))#水平方向完成拆分操作,生成兩個數(shù)組d,e=np.hsplit(c,2)本課件是可編輯的正常PPT課件一維數(shù)組的組合與拆分——簡單的一維數(shù)組組合方案a=np.arange(1,9) #[1,2,3,4,5,6,7,8]b=np.arange(9,17) #[9,10,11,12,13,14,15,16]#把兩個數(shù)組摞在一起成兩行c=np.vstack((a,b))#把兩個數(shù)組組合在一起成兩列d=np.hstack((a,b))本課件是可編輯的正常PPT課件二維數(shù)組的組合與拆分通過axis作為關(guān)鍵字參數(shù)指定組合的方向,取值如下:若待組合的數(shù)組都是二維數(shù)組: 0:垂直方向組合 1:水平方向組合np.concatenate((a,b),axis=0)np.split(c,2,axis=0)axis=1axis=0本課件是可編輯的正常PPT課件二維數(shù)組的組合與拆分——示例本課件是可編輯的正常PPT課件與標量的運算一元函數(shù)運算ndarray的運算二元函數(shù)運算04本課件是可編輯的正常PPT課件ndarray數(shù)組的運算數(shù)組與標量之間的運算:作用于數(shù)組的每一個元素本課件是可編輯的正常PPT課件Numpy數(shù)組運算:一元函數(shù)(1)對ndarray中的數(shù)據(jù)執(zhí)行元素級運算的函數(shù)函數(shù)說明np.abs(x)計算數(shù)組各元素的絕對值np.sqrt(x)計算數(shù)組各元素的平方根np.square(x)計算數(shù)組各元素的平方np.log(x)np.log10(x)np.log2(x)計算數(shù)組各元素的自然對數(shù)、10底對數(shù)和2底對數(shù)np.ceil(x)np.floor(x)計算數(shù)組各元素的ceiling值或floor值本課件是可編輯的正常PPT課件Numpy數(shù)組運算:一元函數(shù)(2)對ndarray中的數(shù)據(jù)執(zhí)行元素級運算的函數(shù)函數(shù)說明np.rint(x)計算數(shù)組各元素的四舍五入值np.cos(x)np.sin(x)np.tan(x)計算數(shù)組各元素的三角函數(shù)np.exp(x)計算數(shù)組各元素的指數(shù)值np.sign(x)計算數(shù)組各元素的符號組:1(+),0,-1(-)本課件是可編輯的正常PPT課件Numpy數(shù)組運算:一元函數(shù)——示例本課件是可編輯的正常PPT課件Numpy數(shù)組運算:二元函數(shù)函數(shù)說明+-*/**兩個數(shù)組各元素進行對應運算np.maximum(x,y)np.minimum(x,y)元素級的最大值/最小值計算><>=<===!=算術(shù)比較,產(chǎn)生布爾型數(shù)組本課件是可編輯的正常PPT課件Numpy數(shù)組運算:二元函數(shù)——舉例本課件是可編輯的正常PPT課件Numpy數(shù)組的轉(zhuǎn)置——ndarray的特殊T屬性本課件是可編輯的正常PPT課件Numpy常用的幾個函數(shù)05統(tǒng)計函數(shù)排序函數(shù)隨機數(shù)函數(shù)去重函數(shù)本課件是可編輯的正常PPT課件Numpy的統(tǒng)計函數(shù)函數(shù)說明sum(a,axis=None)根據(jù)給定軸axis計算數(shù)組a相關(guān)元素之和,axis是整數(shù)或元組mean(a,axis=None)根據(jù)給定軸axis計算數(shù)組a相關(guān)元素之均值,axis是整數(shù)或元組average(a,axis=None,weights=None)根據(jù)給定軸axis計算數(shù)組a相關(guān)元素之平均值(加權(quán)平均值)std(a,axis=None)根據(jù)給定軸axis計算數(shù)組a相關(guān)元素之標準差var(a,axis=None)根據(jù)給定軸axis計算數(shù)組a相關(guān)元素之方差本課件是可編輯的正常PPT課件Numpy的統(tǒng)計函數(shù)——舉例1本課件是可編輯的正常PPT課件Numpy的統(tǒng)計函數(shù)(2)函數(shù)說明min(a)max(a)計算數(shù)組a中元素的最小值、最大值argmin(a)argmax(a)計算數(shù)組a中元素最小值、最大值的降一維后下標ptp(a)計算數(shù)組a中元素最大值與最小值的差median(a)計算數(shù)組a中元素的中位數(shù)(中值)本課件是可編輯的正常PPT課件Numpy的統(tǒng)計函數(shù)——舉例2本課件是可編輯的正常PPT課件Numpy的排序函數(shù)——sortNumpy數(shù)組也可以通過sort方法進行就地排序多維數(shù)組可以在任何一個軸向上進行排序,只需將軸編號傳給sort本課件是可編輯的正常PPT課件Numpy的隨機函數(shù)Numpy的random子庫np.random.*函數(shù)說明rand(d0,d1,d2,...,dn)根據(jù)d0-dn創(chuàng)建隨機數(shù)數(shù)組,浮點數(shù)[0,1)均勻分布randn(d0,d1,d2,...,dn)根據(jù)d0-dn創(chuàng)建隨機數(shù)數(shù)組標準正態(tài)分布randint(low,high,shape)根據(jù)shape創(chuàng)建隨機整數(shù)或整數(shù)數(shù)組,范圍[low,high]seed(s)隨機數(shù)種子,s是給定的種子值本課件是可編輯的正常PPT課件np.random的隨機函數(shù)——舉例本課件是可編輯的正常PPT課件Numpy的去重函數(shù)——uniquenp.unique()按行進行刪除重復按列進行刪除重復本課件是可編輯的正常PPT課件Numpy的文件讀取操作06本課件是可編輯的正常PPT課件Numpy的文件讀取操作Numpy能夠讀寫磁盤上的文本數(shù)據(jù)和二進制數(shù)據(jù),我們一般會讀取CSV格式的文件。Numpy從文件中讀取數(shù)據(jù)是一個非常標準的操作,后面我們主要介紹pandas的文件讀取操作。np.savetxt():將Numpy數(shù)組保存到磁盤中np.loadtxt():從磁盤中讀取數(shù)據(jù)導Numpy中np.savetxt(frame,
array,
fmt='%.18e',
delimiter=None)?frame
:
文件、字符串或產(chǎn)生器,可以是.gz或.bz2的壓縮文件?array
:
存入文件的數(shù)組?fmt:
寫入文件的格式,例如:%d
%.2f
%.18e?delimiter
:
分割字符串,默認是任何空格本課件是可編輯的正常PPT課件CSV
(Comma‐Separated
Value,逗號分隔值)文件CSV是一種常見的文件格式,用來存儲批量數(shù)據(jù)指標,2020年第一季度,2019年第四季度,2019年第三季度,2019年第二季度國內(nèi)生產(chǎn)總值當季值(億元),206504.3,278019.7,252208.7,242573.8國內(nèi)生產(chǎn)總值累計值(億元),206504.3,990865.1,712845.4,460636.7第一產(chǎn)業(yè)增加值當季值(億元),10186.2,27461.6,19798,14437.6第一產(chǎn)業(yè)增加值累計值(億元),10186.2,70466.7,43005,23207本課件是可編輯的正常PPT課件Numpy的文件存儲操作——舉例本課件是可編輯的正常PPT課件Numpy的文件讀取操作np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)frame
:
文件、字符串或產(chǎn)生器,可以是.gz或.bz2的壓縮文件dtype:
數(shù)據(jù)類型,可選delimiter
:
分割字符串,默認是任何空格unpack
:
如果True,讀入屬性將分別寫入不同變量skiprows:跳過前x行,一般跳過第一行表頭usecols:讀取指定的列,索引,元組類型本課件是可編輯的正常PPT課件Numpy的文件讀取操作——舉例本課件是可編輯的正常PPT課件課堂小任務
讀取iris數(shù)據(jù)集中的花萼長度數(shù)據(jù)(已保存為csv格式),文件名:iris.csv。路徑位于D:\Data\iris.csv并對其進行排序、去重,并求出和、均值、標準差、方差、最小值、最大值Sepal.LengthCm:花萼長度,單位cmSepal.WidthCm:花萼寬度,單位cmPetal.LengthCm:花瓣長度,單位cmPetal.WidthCm;花瓣寬度,單位cmSpecies:鳶尾花種類.本課件是可編輯的正常PPT課件第一步:讀入數(shù)據(jù)本課件是可編輯的正常PPT課件第二步:排序、去重,并求出和、均值、標準差、方差、最小值、最大值本課件是可編輯的正常PPT課件謝謝觀看本課件是可編輯的正常PPT課件Pandas統(tǒng)計分析本課件是可編輯的正常PPT課件01Pandas庫的理解02Series類型的基本操作03Pandas庫的DataFrame類型04Pandas庫索引操作CONTENTS目錄05Pandas庫的數(shù)據(jù)類型操作06Pandas庫的數(shù)據(jù)排序和統(tǒng)計函數(shù)本課件是可編輯的正常PPT課件Pandas介紹Series類型Pandas庫的理解Series類型的創(chuàng)建01本課件是可編輯的正常PPT課件Pandas庫的理解(1)Pandas是Python第三方庫,提供高性能易用數(shù)據(jù)類型和分析工具importpandas
aspdPandas基于NumPy實現(xiàn),常與Numpy一同使用引入模塊本課件是可編輯的正常PPT課件Pandas庫的理解(2)兩種數(shù)據(jù)類型:Series,DataFrameSeries是一種類似于一維數(shù)組的對象,它由一組數(shù)據(jù)(各種Numpy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標簽(即索引)組成。DataFrame是一個表格型的數(shù)據(jù)結(jié)構(gòu),它含有一組有序的列,每列可以是不同的值類型(數(shù)值、字符串等)。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)本課件是可編輯的正常PPT課件Pandas庫的理解(3)NumpyPandas基礎數(shù)據(jù)類型關(guān)注數(shù)據(jù)的結(jié)構(gòu)表達維度:數(shù)據(jù)間關(guān)系擴展數(shù)據(jù)類型關(guān)注數(shù)據(jù)的應用表達數(shù)據(jù)與索引間關(guān)系本課件是可編輯的正常PPT課件Pandas庫的Series類型(1)Series是一種類似于一維數(shù)組的對象,它由一組數(shù)據(jù)(各種Numpy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標簽(即索引)組成。索引在左邊,值在右邊。由于我們沒有為數(shù)據(jù)指定索引,于是會自動創(chuàng)建一個0到n-1(n為數(shù)據(jù)的長度)的整數(shù)型索引。索引值本課件是可編輯的正常PPT課件Pandas庫的Series類型(2)Series是一種類似于一維數(shù)組的對象,它由一組數(shù)據(jù)(各種Numpy數(shù)據(jù)類型)以及一組與之相關(guān)的數(shù)據(jù)標簽(即索引)組成。自定義索引本課件是可編輯的正常PPT課件Series類型的創(chuàng)建方法Series類型可以由如下類型創(chuàng)建:Python列表,index與列表元素個數(shù)一致標量值,index表達Series類型的尺寸Python字典,鍵值對中的“鍵”是索引,index從字典中進行選擇操作ndarray,索引和數(shù)據(jù)都可以通過ndarray類型創(chuàng)建其他函數(shù),range()函數(shù)等本課件是可編輯的正常PPT課件Series類型的創(chuàng)建方法——從標量值創(chuàng)建標量創(chuàng)建時,index索引不能省略本課件是可編輯的正常PPT課件Series類型的創(chuàng)建方法——從字典類型創(chuàng)建如果指定了索引,則會從索引里選擇字典里的數(shù)據(jù)本課件是可編輯的正常PPT課件Series類型的創(chuàng)建方法——從ndarray類型創(chuàng)建這也是非常常用的創(chuàng)建方式本課件是可編輯的正常PPT課件Series類型的基本操作02基本操作概述index和values操作類似ndarray類型類似Python字典操作本課件是可編輯的正常PPT課件Series類型的基本操作Series類型包括index和values兩部分Series類型的操作類似ndarray類型Series類型的操作類似Python字典類型本課件是可編輯的正常PPT課件Series類型的基本操作——index和values操作(1)本課件是可編輯的正常PPT課件Series類型的基本操作——index和values操作(2)
自動索引和基本索引并存,兩種索引都可以使用,但在使用的時候要么全是自動索引、要么全是基本索引本課件是可編輯的正常PPT課件Series類型的基本操作——類似ndarray類型Series類型的操作類似ndarray類型:索引方法相同,采用[]Numpy中運算和操作可用于Series類型可以通過自定義索引的列表進行切片可以通過自動索引進行切片,如果存在自定義索引,則一同被切片本課件是可編輯的正常PPT課件Series類型的基本操作——類似ndarray類型的切片和運算本課件是可編輯的正常PPT課件Series類型的基本操作——類似Python字典類型類似Python字典操作方式:?通過自定義索引訪問?保留字in操作?使用.get()方法本課件是可編輯的正常PPT課件Series類型的基本操作——加法(+)操作加法:Series+
SeriesSeries類型在運算中會自動對齊不同索引的數(shù)據(jù),再進行四則運算本課件是可編輯的正常PPT課件Series類型的基本操作——通過index修改values的值
通過基本索引和自動索引切片對values值進行修改并立即生效本課件是可編輯的正常PPT課件Pandas庫的DataFrame類型03DataFrame類型的理解DataFrame類型的創(chuàng)建loc、iloc函數(shù)本課件是可編輯的正常PPT課件DataFrame類型的理解(1)DataFrame類型由共用相同索引的一組列組成,可以看作多個Series對象構(gòu)成的索引列多列數(shù)據(jù)組成本課件是可編輯的正常PPT課件DataFrame類型的理解(2)DataFrame是一個表格型的數(shù)據(jù)類型,每列值類型可以不同;DataFrame既有行索引、也有列索引;DataFrame常用于表達二維數(shù)據(jù),但可以表達多維數(shù)據(jù)。
DataFrame類型由共用相同索引的一組列組成,可以看作多個Series對象構(gòu)成的columnindexaxis=1axis=0本課件是可編輯的正常PPT課件DataFrame類型的創(chuàng)建四種常用的創(chuàng)建方式:由二維ndarray對象創(chuàng)建由一維ndarray、列表、字典、元組或Series構(gòu)成的字典Series類型其他的DataFrame類型本課件是可編輯的正常PPT課件DataFrame類型的創(chuàng)建:從二維ndarray對象創(chuàng)建自動行索引自動列索引本課件是可編輯的正常PPT課件DataFrame類型的創(chuàng)建:從一維ndarray對象字典創(chuàng)建自定義行索引和列索引數(shù)據(jù)根據(jù)行列索引自動補齊本課件是可編輯的正常PPT課件DataFrame類型的創(chuàng)建:從列表類型的字典創(chuàng)建本課件是可編輯的正常PPT課件pandas-數(shù)據(jù)選取loc、iloc函數(shù)(1)loc:通過行標簽索引數(shù)據(jù),例如取index為a的行;location的縮寫。iloc:通過行號索引行數(shù)據(jù),例如取第2行數(shù)據(jù);Integerandlocation的縮寫。本課件是可編輯的正常PPT課件pandas-數(shù)據(jù)選取loc、iloc函數(shù)(2)本課件是可編輯的正常PPT課件pandas-數(shù)據(jù)選取某行本課件是可編輯的正常PPT課件pandas-數(shù)據(jù)選取多行本課件是可編輯的正常PPT課件pandas-數(shù)據(jù)選取多行切片本課件是可編輯的正常PPT課件pandas-數(shù)據(jù)選取索引某行某列本課件是可編輯的正常PPT課件Pandas庫索引操作04索引的理解索引類型的常用方法重新索引本課件是可編輯的正常PPT課件Pandas庫——索引Series和DataFrame的索引是Index類型Index對象是不可修改類型本課件是可編輯的正常PPT課件Pandas庫——索引類型的常用方法方法說明.append(idx)連接另一個Index對象,產(chǎn)生新的Index對象.diff(idx)計算差集,產(chǎn)生新的Index對象.intersection(idx)計算交集.union(idx)計算并集.delete(loc)刪除Loc位置處的元素.insert(loc,e)在loc位置增加一個元素e本課件是可編輯的正常PPT課件Pandas庫——索引類型的方法使用本課件是可編輯的正常PPT課件Pandas庫——刪除指定索引對象.drop()能夠刪除Series和DataFrame指定行或列索引本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)類型操作——重新索引.reindex()能夠改變或重排Series和DataFrame索引本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)類型操作——重新索引reindex函數(shù)參數(shù)參數(shù)說明index,columns新的行列自定義索引fill_value重新索引中,用于填充缺失位置的值method填充方法,ffill當前值向前填充,bfill向后填充limit最大填充量copy默認True,生成新的對象;False時,新舊相等不復制本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)類型操作——重新索引舉例本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)類型操作05算術(shù)運算比較運算本課件是可編輯的正常PPT課件Pandas庫數(shù)據(jù)的算術(shù)運算算術(shù)運算根據(jù)行列索引,補齊后運算,運算默認產(chǎn)生浮點數(shù)補齊時缺項填充NaN(空值)二維和一維、一維和零維間為廣播運算采用+
‐*
/符號進行的二元運算產(chǎn)生新的對象本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)的算術(shù)運算——+、-、*、/符號運算自動補齊進行運算,缺少補NaN本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)的算術(shù)運算——加減乘除的方法形式的運算方法說明.add(d,**argws)類型間加法運算,可選參數(shù).sub(d,**argws)類型間減法運算,可選參數(shù).mul(d,**argws)類型間乘法運算,可選參數(shù).div(d,**argws)類型間除法運算,可選參數(shù)本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)的算術(shù)運算——加減乘除的方法形式的運算(1)fill_value填充空值后再進行加法和乘法運算本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)的算術(shù)運算——加減乘除的方法形式的運算(2)
不同維度間為廣播運算,一維Series默認在軸1參與運算;使用運算方法可以使一維Series參與軸0運算本課件是可編輯的正常PPT課件Pandas庫數(shù)據(jù)的比較運算比較運算只能比較相同索引的元素,不進行補齊(同維度比較,尺寸需要一致)二維和一維、一維和零維間為廣播運算采用>
<
>=
<=
==
!=等符號進行的二元運算產(chǎn)生布爾對象本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)的比較運算(1)同維度運算,尺寸一致,逐個比較元素本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)的比較運算(2)不同維度,廣播運算,默認在軸1本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)排序和統(tǒng)計函數(shù)06數(shù)據(jù)排序基本統(tǒng)計方法本課件是可編輯的正常PPT課件Pandas庫的數(shù)據(jù)排序Pandas提供了兩種排序方法:索引排序sort_index()值排序sort_values()本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)排序——索引排序sort_index()方法(1).sort_index()方法在指定軸上根據(jù)索引進行排序,默認升序.sort_index(axis=0,
ascending=True)本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)排序——索引排序sort_index()方法(2)本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)排序——值排序sort_values()方法(1).sort_values()方法在指定軸上根據(jù)數(shù)值進行排序,默認升序Series.sort_values(axis=0,
ascending=True)DataFrame.sort_values(by,
axis=0,
ascending=True)by
:axis軸上的某個索引或索引列表本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)排序——值排序sort_values()方法(2).sort_values(by,
axis=0,
ascending=True)本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)排序——值排序sort_values()方法(3)NaN統(tǒng)一放到排序末尾本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)的基本統(tǒng)計方法適用于Series和DataFrame類型方法說明.sum()計算數(shù)據(jù)的總和,按0軸計算,下同.count()非NaN值的數(shù)量.mean().median()計算數(shù)據(jù)的算術(shù)平均值、算術(shù)中位數(shù).var().std()計算數(shù)據(jù)的方差、標準差.min.max()計算數(shù)據(jù)的最小值、最大值本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)的基本統(tǒng)計方法(2)適用于Series類型方法說明.argmin().argmax()計算數(shù)據(jù)最大值、最小值所在位置的索引位置(自動索引).idxmin().idxmax()計算數(shù)據(jù)最大值、最小值所在位置的索引(自動索引)本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)的基本統(tǒng)計方法(3)適用于Series和DataFrame類型方法說明.describe()針對0軸(各列)的統(tǒng)計匯總本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)的基本統(tǒng)計方法——舉例(1).describe()產(chǎn)生的是一個Series對象,所以我們可以使用Series方法進行訪問數(shù)據(jù)本課件是可編輯的正常PPT課件Pandas數(shù)據(jù)的基本統(tǒng)計方法——舉例(2).describe()產(chǎn)生的是一個DataFrame對象,所以我們可以使用DataFrame方法進行訪問數(shù)據(jù)本課件是可編輯的正常PPT課件謝謝觀看本課件是可編輯的正常PPT課件Matplotlib數(shù)據(jù)可視化基礎本課件是可編輯的正常PPT課件01認識Matplotlib02pyplot的plot函數(shù)03基本圖形繪制——餅圖和直方圖CONTENTS目錄04基本圖形繪制——條形圖和散點圖本課件是可編輯的正常PPT課件優(yōu)秀的第三方庫基本繪圖及保存Matplotlib簡介繪圖區(qū)域繪圖刻度和范圍01本課件是可編輯的正常PPT課件優(yōu)秀的數(shù)據(jù)可視化第三方庫本課件是可編輯的正常PPT課件優(yōu)秀的數(shù)據(jù)可視化第三方庫
Matplotlib庫由各種可視化類構(gòu)成,內(nèi)部結(jié)構(gòu)復雜,matplotlib.pyplot是繪制各類可視化圖形的命令子庫,相當于快捷方式importmatplotlib.pyplotasplt引入模塊的別名本課件是可編輯的正常PPT課件plt.plot()基本繪圖小試(1)#xarray:<序列>水平坐標序列#yarray:<序列>垂直坐標序列plt.plot(xarray,yarray)plt.show()plt.plot()只有一個輸入列表或數(shù)組時,參數(shù)被當作Y軸,X軸以索引自動生成本課件是可編輯的正常PPT課件plt.plot()基本繪圖的保存plt.savefig()將輸出圖形存儲為文件,默認PNG格式,可以通過dpi修改輸出質(zhì)量本課件是可編輯的正常PPT課件plt.plot()基本繪圖小試(2)plt.plot(x,y)當有兩個以上參數(shù)時,按照X軸和Y軸順序繪制數(shù)據(jù)點本課件是可編輯的正常PPT課件pyplot的繪圖區(qū)域plt.subplot(nrows,
ncols,
plot_number)例如:plt.subplot(2,
2,
3)plt.subplt(223)在全局繪圖區(qū)域中創(chuàng)建一個分區(qū)體系,并定位到一個子繪圖區(qū)域2行2列將繪圖區(qū)域分成了4個子繪圖區(qū)域,3代表第三個繪圖區(qū)域本課件是可編輯的正常PPT課件pyplot的繪圖區(qū)域——舉例本課件是可編輯的正常PPT課件設置坐標軸范圍和坐標軸刻度#x_limt_min: <float>x軸范圍最小值#x_limit_max: <float>x軸范圍最大值plt.xlim(x_limt_min,x_limit_max)#y_limt_min: <float>y軸范圍最小值#y_limit_max: <float>y軸范圍最大值plt.ylim(y_limt_min,y_limit_max)plt.axis(Xmin,Xmax,Ymin,Ymax)#x_val_list: x軸刻度值序列#x_text_list: x軸刻度標簽文本序列[可選]plt.xticks(x_val_list,x_text_list)#y_val_list: y軸刻度值序列#y_text_list: y軸刻度標簽文本序列[可選]plt.yticks(y_val_list,y_text_list)設置坐標軸設置坐標軸刻度本課件是可編輯的正常PPT課件設置坐標軸范圍和坐標軸刻度——舉例把橫坐標軸范圍設置為0-15把縱坐標軸范圍設置為0-50把橫坐標的刻度顯示為:a,b,c,d,e,f,g把縱坐標的刻度顯示為:A,B,C,D,E,F本課件是可編輯的正常PPT課件plot函數(shù)格式函數(shù)參數(shù)pyplot的plot函數(shù)pyplot的中文顯示文本顯示函數(shù)02本課件是可編輯的正常PPT課件pyplot的plot函數(shù)plt.plot(x,y,
format_string,
**kwargs)當繪制多條曲線時,各條曲線的x不能省略
x
:
X軸數(shù)據(jù),列表或數(shù)組,可選
y
:
Y軸數(shù)據(jù),列表或數(shù)組format_string:
控制曲線的格式字符串,可選**kwargs:
第二組或更多(x,y,format_string)本課件是可編輯的正常PPT課件pyplot的plot函數(shù)——繪制多條直線plt.plot(x,y,
format_string,
**kwargs)本課件是可編輯的正常PPT課件pyplot的plot函數(shù)——format_string參數(shù)1format_string:
控制曲線的格式字符串,可選由顏色字符、風格字符和標記字符組成顏色字符說明'b'藍色'g'綠色'r'紅色'y'黃色'k'黑色本課件是可編輯的正常PPT課件pyplot的plot函數(shù)——format_string參數(shù)2format_string:
控制曲線的格式字符串,可選由顏色字符、風格字符和標記字符組成風格字符說明'‐'實線'‐‐'破折線'‐.'點劃線':'虛線本課件是可編輯的正常PPT課件pyplot的plot函數(shù)——format_string參數(shù)3format_string:
控制曲線的格式字符串,可選由顏色字符、風格字符和標記字符組成顏色字符、風格字符和標記字符組合使用標記字符說明'.'點標記'o'實心圈標記's'實心方形標記'p'實心五角標記'*'星形標記'+'十字標記'x'x標記本課件是可編輯的正常PPT課件pyplot的plot函數(shù)——**kwargs參數(shù)1**kwargs:
第二組或更多(x,y,format_string)color
:
控制顏色,
如:color='red'linestyle:
線條風格,
如:linestyle='dashed'marker
:
標記風格,
如:marker='o'markerfacecolor:
標記顏色,
如:markerfacecolor='blue'markersize:
標記尺寸,
如:markersize=20plt.plot(x,y,
format_string,
**kwargs)本課件是可編輯的正常PPT課件pyplot的plot函數(shù)——**kwargs參數(shù)2
通過format_string參數(shù)和**kwargs參數(shù)進行線條、線條標記、顏色的設置對比本課件是可編輯的正常PPT課件pyplot的中文顯示在有中文輸出的地方,增加一個屬性:fontproperties屬性說明fontstyle字體風格,正常'normal'或斜體'italic'fontsize字體大小,整數(shù)字號fontproperties設置中文字體:'SimHei'——中文黑體、'Kaiti'——中文楷體、'STSong'——中文宋體等color設置字體顏色,如red、blue本課件是可編輯的正常PPT課件pyplot的中文顯示——舉例本課件是可編輯的正常PPT課件pyplot的文本顯示函數(shù)函數(shù)說明plt.xlabel()對X軸增加文本標簽plt.ylabel()對Y軸增加文本標簽plt.title()對圖形整體增加文本標簽plt.text()在任意位置增加文本plt.annotate()在圖形中增加帶箭頭的注解本課件是可編輯的正常PPT課件橫軸和縱軸的文本顯示本課件是可編輯的正常PPT課件餅圖直方圖基本圖形繪制03本課件是可編輯的正常PPT課件pyplot基礎圖表函數(shù)概述餅圖直方圖條形圖散點圖函數(shù)說明plt.pie(data,explode)繪制餅圖plt.hist(x,bins,normed)繪制直方圖plt.bar(left,height,width,bottom)繪制一個條形圖plt.scatter(x,y)繪制散點圖,其中,x和y長度相同本課件是可編輯的正常PPT課件餅圖:pie函數(shù)plt.pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=None,radius=None,…)常用參數(shù)及說明如下表所示。
x:
(每一塊)的比例,如果sum(x)>1會使用sum(x)歸一化;labels:(每一塊)餅圖外側(cè)顯示的說明文字;explode:(每一塊)離開中心距離;startangle:起始繪制角度,默認圖是從x軸正方向逆時針畫起,如設定=90則從y軸正方向畫起;shadow:在餅圖下面畫一個陰影。默認值:False,即不畫陰影;labeldistance:label標記的繪制位置,相對于半徑的比例,默認值為1.1,如<1則繪制在餅圖內(nèi)側(cè);autopct:控制餅圖內(nèi)百分比設置,可以使用format字符串或者formatfunction1。如:'%1.1f'指小數(shù)點前后位數(shù)(沒有用空格補齊);
本課件是可編輯的正常PPT課件pyplot繪制餅圖本課件是可編輯的正常PPT課件直方圖:hist函數(shù)plt.hist(x,bins=10,range=None,normed=False,weights=None,cumulative=False,bottom=None,histtype=‘bar’,align=‘mid’,orientation=‘vertical’,rwidth=None,log=False,color=None,label=None,stacked=False)
x:指定要繪制直方圖的數(shù)據(jù);bins:指定直方圖條形的個數(shù);range:指定直方圖數(shù)據(jù)的上下界,默認包含繪圖數(shù)據(jù)的最大值和最小值;normed:是否將直方圖的頻數(shù)轉(zhuǎn)換成頻率;color:設置直方圖的填充色;label:設置直方圖的標簽,可通過legend展示其圖例;常用參數(shù)及說明如下表所示直方圖:直方圖是一種統(tǒng)計報告圖,形式上也是一個個的長條形,但是直方圖用長條形的面積表示頻數(shù),當寬度相同時,一般就用長條形長度表示頻數(shù)。本課件是可編輯的正常PPT課件pyplot繪制直方圖——1本課件是可編輯的正常PPT課件pyplot繪制直方圖——1本課件是可編輯的正常PPT課件pyplot繪制直方圖——2本課件是可編輯的正常PPT課件pyplot繪制直方圖——2本課件是可編輯的正常PPT課件基本圖形繪制條形圖散點圖04本課件是可編輯的正常PPT課件條形圖:bar函數(shù)條形圖的分類:水平條形圖垂直條形圖堆疊條形圖left:x軸的位置序列,一般采用range函數(shù)產(chǎn)生一個序列,但是有時候可以是字符串height:y軸的數(shù)值序列,也就是柱形圖的高度,一般就是我們需要展示的數(shù)據(jù);alpha:透明度,值越小越透明width:為柱形圖的寬度,一般這是為0.8即可;color或facecolor:柱形圖填充的顏色;edgecolor:圖形邊緣顏色label:解釋每個圖像代表的含義,這個參數(shù)是為legend()函數(shù)做鋪墊的,表示該次bar的標簽,其中l(wèi)egend()函數(shù)loc參數(shù)如下:垂直條形圖:plt.bar(left,height,alpha=1,width=0.8,color=,edgecolor=,label=,lw=3)本課件是可編輯的正常PPT課件legend()函數(shù)loc參數(shù)LocationString
LocationCode'best':
0,(默認方式)'upperright':
1'upperleft':
2'lowerleft':
3'lowerright':
4'right':
5'centerleft':
6'centerright':
7'lowercenter':
8'uppercenter':
9'center':
10本課件是可編輯的正常PPT課件垂直條形圖——舉例本課件是可編輯的正常PPT課件垂直條形圖——舉例本課件是可編輯的正常PPT課件水平條形圖——舉例本課件是可編輯的正常PPT課件水平條形圖——舉例本課件是可編輯的正常PPT課件堆疊條形圖——舉例本課件是可編輯的正常PPT課件堆疊條形圖——舉例本課件是可編輯的正常PPT課件散點圖:scatter函數(shù)plt.scatter(x,y,s=None,c=None,marker=None,cmap=None,norm=None,vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,edgecolors=None,hold=None,data=None,**kwargs)常用參數(shù)有:x,y組成了散點的坐標;s為散點的面積;c為散點的顏色(默認為藍色'b');marker為散點的標記;alpha為散點的透明度(0與1之間的數(shù),0為完全透明,1為完全不透明)
散點圖表示兩個數(shù)值變量之間的相對關(guān)系,這兩個變量分別位于兩個數(shù)軸上。例如,身高與體重,或者供給與需求。散點圖有助于識別出變量之間是否具有正相關(guān)(圖中的點集中于某個具體參數(shù))或負相關(guān)(圖中的點像云一樣發(fā)散)。本課件是可編輯的正常PPT課件繪制普通散點圖本課件是可編輯的正常PPT課件在一張圖上繪制兩組數(shù)據(jù)的散點本課件是可編輯的正常PPT課件謝謝觀看本課件是可編輯的正常PPT課件大數(shù)據(jù)分析與挖掘本課件是可編輯的正常PPT課件Hadoop平臺及搭建步驟本課件是可編輯的正常PPT課件01Hadoop是什么02Hadoop生態(tài)的核心03HDFS的架構(gòu)及特點04YARN的架構(gòu)CONTENTS目錄05Hadoop特點本課件是可編輯的正常PPT課件Hadoop是什么?Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構(gòu)本課件是可編輯的正常PPT課件HDFSHadoopDistributedFileSystem分布式文件系統(tǒng)YARNYetAnotherResourceNegotiator
資源管理調(diào)度系統(tǒng)MapReduce分布式運算框架Hadoop生態(tài)的核心本課件是可編輯的正常PPT課件HDFS的架構(gòu)
主從結(jié)構(gòu)主節(jié)點namenode從節(jié)點:datanodeSecondaryNameNode本課件是可編輯的正常PPT課件HDFS的優(yōu)缺點優(yōu)點缺點高可靠性不適合低延遲數(shù)據(jù)訪問高擴展性高效高容錯性無法高效存儲大量小文件不支持多用戶寫入及任意修改文件本課件是可編輯的正常PPT課件YARN的架構(gòu)主從結(jié)構(gòu)主節(jié)點ResourceManager(RM)從節(jié)點NodeManager(NM)本課件是可編輯的正常PPT課件能可靠的存儲和處理海量數(shù)據(jù)可以通過普通機器組成的服務器集群來分發(fā)以及處理數(shù)據(jù)。hadoop能自動的維護數(shù)據(jù)的多份副本,并且在任務失敗之后能自動重新部署計算任務Hadoop特點擴容能力強成本低效率高本課件是可編輯的正常PPT課件Hadoop平臺搭建操作下面我們進入Hadoop部署步驟詳解本課件是可編輯的正常PPT課件Hive組件及搭建步驟本課件是可編輯的正常PPT課件01什么是HIVE02HIVE的特點03HIVE的架構(gòu)04Hive與傳統(tǒng)數(shù)據(jù)庫的對比CONTENTS目錄05HIVE工作機制本課件是可編輯的正常PPT課件什么是HiveHive的本質(zhì)什么是Hive將HQL轉(zhuǎn)化成MapReduce程序Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具本課件是可編輯的正常PPT課件Hive處理的數(shù)據(jù)存儲在HDFSHive分析數(shù)據(jù)底層的實現(xiàn)是MapReduce執(zhí)行程序運行在Yarn上。Hive的工作機制本課件是可編輯的正常PPT課件可擴展延展性容錯性Hive的特點特點本課件是可編輯的正常PPT課件Hive的架構(gòu)①②③④本課件是可編輯的正常PPT課件Hive與傳統(tǒng)數(shù)據(jù)庫對比HiveRDBMS查詢語言HQLSQL數(shù)據(jù)存儲HDFSRawDeviceorLocalFS執(zhí)行MapReduceExctor執(zhí)行延遲高低處理數(shù)據(jù)規(guī)模大小本課件是可編輯的正常PPT課件平臺搭建操作下面我們進入Hive部署步驟詳解本課件是可編輯的正常PPT課件大數(shù)據(jù)分析與挖掘本課件是可編輯的正常PPT課件Spark組件及搭建步驟本課件是可編輯的正常PPT課件01什么是Spark02Spark的特點03Spark的重要角色CONTENTS目錄本課件是可編輯的正常PPT課件什么是spark?Spark是一種基于內(nèi)存的快速、通用、課擴展的大數(shù)據(jù)分析引擎。定義:本課件是可編輯的正常PPT課件什么是spark?Spark內(nèi)置模塊。本課件是可編輯的正常PPT課件Spark特點通用兼容性快易用本課件是可編輯的正常PPT課件Driver(驅(qū)動器)Executor(執(zhí)行器)Spark的重要角色把用戶程序轉(zhuǎn)為作業(yè)(JOB)跟蹤Executor的運行狀況為執(zhí)行器節(jié)點調(diào)度任務UI展示應用運行狀況。負責運行組成Spark應用的任務,并將結(jié)果返回給驅(qū)動器進程通過自身的塊管理器(BlockManager)為用戶程序中要求緩存的RDD提供內(nèi)存式存儲。本課件是可編輯的正常PPT課件平臺搭建操作下面我們進入Spark部署步驟詳解本課件是可編輯的正常PPT課件ZooKeeper組件及搭建步驟本課件是可編輯的正常PPT課件01Zookeeper是什么02Zookeeper能提供什么?03zookeeper能為我們做什么04zookeeper角色簡介CONTENTS目錄05zookeeper的特性本課件是可編輯的正常PPT課件zookeeper是什么是一個分布式協(xié)調(diào)服務,就是為用戶的分布式應用提供協(xié)調(diào)服務,是為其他的分布式程序服務zookeeper是什么本身也是一個分布式程序(只要有半數(shù)以上節(jié)點存活,zk就能正常對外提供服務)一般奇數(shù)臺本課件是可編輯的正常PPT課件Zookeeper能提供什么?Zookeeper提供什么文件系統(tǒng)通知機制本課件是可編輯的正常PPT課件zookeeper能為我們做什么配置管理命名服務集群管理分布式鎖隊列管理分布式與數(shù)據(jù)復制本課件是可編輯的正常PPT課件zookeeper角色簡介負責進行投票的發(fā)起和決議,更新系統(tǒng)狀態(tài)。學習者領(lǐng)導者①跟隨者:Follower用于接收客戶請求并向客戶端返回結(jié)果,在選中過程中參與投票。②觀察者:Observer可以接收客戶端連接,將寫請求轉(zhuǎn)發(fā)給leader節(jié)點。但不參加投票過程,只同步leader狀態(tài)。本課件是可編輯的正常PPT課件zookeeper的特性一致性可靠性實時性等待無關(guān)原子性順序性分布式讀寫本課件是可編輯的正常PPT課件平臺搭建操作下面我們進入ZooKeeper部署步驟詳解本課件是可編輯的正常PPT課件————數(shù)據(jù)采集本課件是可編輯的正常PPT課件1數(shù)據(jù)采集技術(shù)概述本課件是可編輯的正常PPT課件01采集技術(shù)概述02采集的特點03采集的數(shù)據(jù)類型04采集的范圍CONTENTS目錄05采集的流程本課件是可編輯的正常PPT課件數(shù)據(jù)采集又稱數(shù)據(jù)獲取,是利用一種程序或裝置從系統(tǒng)外部采集數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終輸入到存儲系統(tǒng)中的一種過程。
以大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、5G為核心特征的數(shù)字化浪潮正席卷全球,隨著網(wǎng)絡和信息技術(shù)的不斷普及,人類產(chǎn)生的數(shù)據(jù)量正在呈指數(shù)級增長。大約每兩年翻一番,這意味著人類在最近兩年產(chǎn)生的數(shù)據(jù)量相當于之前產(chǎn)生的全部數(shù)據(jù)量。面對如此海量的數(shù)據(jù),與之相關(guān)的采集、存儲、分析等等環(huán)節(jié)產(chǎn)生了一系列的問題。如何收集有效的數(shù)據(jù)并且進行轉(zhuǎn)換分析存儲以及有效率的分析成為巨大的挑戰(zhàn)。數(shù)據(jù)采集概述本課件是可編輯的正常PPT課件數(shù)據(jù)采集技術(shù)XPATHBeautifulSoup正則表達式FlumeFluentdLogstash爬蟲原理SyslogFilebeat相關(guān)技術(shù)和工具HTTP本課件是可編輯的正常PPT課件數(shù)據(jù)采集的特點以自動化手段為主,擺脫人工錄入的方式自動化采集方式多樣化、內(nèi)容豐富化以全量采集和增量采集并存的方式,不對采集的數(shù)據(jù)進行采樣采集方式針對日志數(shù)據(jù)的采集,使用數(shù)據(jù)管道直達數(shù)據(jù)庫實時性高傳統(tǒng)的數(shù)據(jù)采集來源單一,且存儲、管理和分析數(shù)據(jù)量也相對較小,大多采用關(guān)系型數(shù)據(jù)庫和并行數(shù)據(jù)倉庫即可處理。在依靠并行計算提升數(shù)據(jù)處理速度方面,傳統(tǒng)的并行數(shù)據(jù)庫技術(shù)追求的是高度一致性和容錯性,從而難以保證其可用性和擴展性豐富多樣本課件是可編輯的正常PPT課件采集的數(shù)據(jù)類型結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)半結(jié)構(gòu)化數(shù)據(jù)非關(guān)系模型的、有基本固定結(jié)構(gòu)模式的數(shù)據(jù)。例如:日志文件、XML文檔、JSON文檔、Email等。數(shù)據(jù)結(jié)構(gòu)不規(guī)則或不完整,沒有預定義的數(shù)據(jù)模型例如:所有格式的辦公文檔、文本、圖片、HTML、各類報表、圖像和音頻/視頻信息等等。
具有固定格式或有限長度的數(shù)據(jù)例如:數(shù)據(jù)庫,元數(shù)據(jù)等本課件是可編輯的正常PPT課件采集的范圍根據(jù)大數(shù)據(jù)分析的需求,數(shù)據(jù)采集的范圍可以分為如下數(shù)據(jù)01內(nèi)部業(yè)務系統(tǒng)數(shù)據(jù)庫企業(yè)內(nèi)部的各個獨立的業(yè)務系統(tǒng),在各類數(shù)據(jù)庫中存儲了大量的數(shù)據(jù)02互聯(lián)網(wǎng)對外公開內(nèi)容凡是可以通過瀏覽器或者移動APP公開訪問的互聯(lián)網(wǎng)內(nèi)容03操作系統(tǒng)及業(yè)務系統(tǒng)日志自身操作系統(tǒng)或者自有業(yè)務系統(tǒng)的日常日志記錄數(shù)據(jù)網(wǎng)絡設備日志數(shù)據(jù)庫數(shù)據(jù)互聯(lián)網(wǎng)內(nèi)容數(shù)據(jù)系統(tǒng)日志數(shù)據(jù)網(wǎng)絡設備日志數(shù)據(jù)網(wǎng)絡設備記錄的訪問日志、流量日志、攻擊日志等等設備狀態(tài)數(shù)據(jù)05物聯(lián)網(wǎng)感知設備數(shù)據(jù)物聯(lián)網(wǎng)的感知層設備采集的各類傳感數(shù)據(jù)感知設備數(shù)據(jù)04本課件是可編輯的正常PPT課件采集的流程
不同的數(shù)據(jù)對象,其采集流程不盡相同,這里僅介紹網(wǎng)頁內(nèi)容采集流程及系統(tǒng)日志的采集流程。網(wǎng)頁爬取的采集流程系統(tǒng)日志的采集流程本課件是可編輯的正常PPT課件網(wǎng)頁爬取的采集流程STEP
1分析采集對象STEP
2構(gòu)建采集請求STEP
3獲取響應內(nèi)容STEP
5存儲采集數(shù)據(jù)STEP
4過濾解析內(nèi)容如果服務器能正常響應,會得到一個Response,Response的內(nèi)容便是所要獲取的頁面內(nèi)容,類型可能是HTML,Json字符串,二進制數(shù)據(jù)(圖片或者視頻)等類型得到的內(nèi)容可能是HTML文本,可以用正則表達式、BeautifulSoup、XPath進行解析,可能是Json,可以直接轉(zhuǎn)換為Json對象解析,可能是二進制數(shù)據(jù),可以做保存或者進一步的處理針對一個網(wǎng)頁,需要分析其網(wǎng)頁結(jié)構(gòu),明確要采集的對象清單,采集清單相關(guān)法律法規(guī)評估,同時確定目標數(shù)據(jù)是否在同一個頁面中。通過HTTP協(xié)議向目標站點發(fā)起請求,也就是發(fā)送一個Request,請求可以包含額外的header等信息,等待服務器響應保存形式多樣,可以存為文本,也可以保存到數(shù)據(jù)庫,或者保存特定格式的文件,如果是海量數(shù)據(jù),則可以存儲到HDFS文件系統(tǒng)或者HIVE數(shù)據(jù)庫中。本課件是可編輯的正常PPT課件系統(tǒng)日志的采集流程STEP
1分析日志規(guī)模及實時性,選擇適合的日志采集工具STEP
2確定數(shù)據(jù)采集的輸入端、輸出端STEP3配置日志采集器文件,明確需要采集的日志清單STEP5存儲日志數(shù)據(jù),存儲至數(shù)據(jù)庫系統(tǒng)、HDFS平臺STEP
4配置傳輸管道配置文件:輸入源配置、過濾器配置、輸出端配置本課件是可編輯的正常PPT課件2分析明確采集對象本課件是可編輯的正常PPT課件01網(wǎng)頁打開流程02DOM文檔對象模型03網(wǎng)頁源碼分析CONTENTS目錄本課件是可編輯的正常PPT課件網(wǎng)頁打開流程本課件是可編輯的正常PPT課件
瀏覽器會把服務器響應的HTML文檔解析成一個樹結(jié)構(gòu),并且在此基礎上定義了訪問和操作HTML文檔的標準。根據(jù)W3C標準我們稱之為HTMLDOM(DocumentObjectModel)文檔對象模型。DOM根節(jié)點末梢節(jié)點下無其它子節(jié)點存在,如Inupt、Td、H1之類的節(jié)點。03在DOM結(jié)構(gòu)樹中,處于中間位置的節(jié)點,此類節(jié)點內(nèi)部仍然有其它節(jié)點,如Body、Div、Table節(jié)點等等02DOM根節(jié)點,訪問文檔中各個標簽的時候,都需要先訪問該節(jié)點01分支節(jié)點末梢節(jié)點末梢節(jié)點
分支節(jié)點末梢節(jié)點
HTML文檔對象模型(DOM)
HTML文檔中的所有內(nèi)容都是節(jié)點,且有以下幾個類型。整個文檔是一個文檔節(jié)點(document節(jié)點)每個HTML元素是元素節(jié)點HTML元素內(nèi)的文本是文本節(jié)點每個HTML屬性是屬性節(jié)點注釋是注釋節(jié)點本課件是可編輯的正常PPT課件HTMLDOM結(jié)構(gòu)解析本課件是可編輯的正常PPT課件網(wǎng)頁源碼分析分析新浪網(wǎng)的網(wǎng)頁源碼1.瀏覽器輸入網(wǎng)址:建議用谷歌瀏覽器2.打開開發(fā)者模式(按F12)3.選擇“Elements”功能,查看HTML文檔4.在HTML文檔中,移動鼠標,并觀察網(wǎng)頁變深色的區(qū)域。深色區(qū)域即對應了鼠標所在的HTML標簽內(nèi)容。本課件是可編輯的正常PPT課件網(wǎng)頁源碼分析通過這種分析方式,可以快速定位需要采集的內(nèi)容,進而可以通過DOM結(jié)構(gòu)樹提取相關(guān)內(nèi)容本課件是可編輯的正常PPT課件3構(gòu)建數(shù)據(jù)采集請求本課件是可編輯的正常PPT課件01模擬HTTP請求訪問資源02如何選擇語言03操作URL的Python模塊CONTENTS目錄04瀏覽器的模擬-構(gòu)建Headers本課件是可編輯的正常PPT課件模擬HTTP請求訪問資源瀏覽器訪問資源1、用戶點擊鏈接、瀏覽器自動生成HTTP請求報文2、服務器收到請求報文,根據(jù)報文內(nèi)容,回復響應報文3、瀏覽器收到服務器的響應報文,解析提取程序模擬訪問資源1、程序構(gòu)建HTTP請求報文,模擬發(fā)送請求2、服務器收到請求報文,根據(jù)報文內(nèi)容,回復響應報文3、程序收到服務器的響應報文,解析提取我是客戶端本課件是可編輯的正常PPT課件語言如何選擇PythonJavaC/C++.NETC/C++:高效率,快速,適合通用搜索引擎做全網(wǎng)爬取。但其缺點明顯,由于現(xiàn)有第三方代碼支持較少,原生代碼開發(fā)難度大,代碼量龐大。Perl,Java,Ruby:簡單,易學,良好的文本處理能方便網(wǎng)頁內(nèi)容的提取,但效率不高,適合對少量網(wǎng)站的聚焦爬取。.NET:平臺支持不好,僅僅可以在window系統(tǒng)平臺運行。Python在HT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司校車安全管理制度
- 公司組織夜校管理制度
- 環(huán)衛(wèi)工人個人工作總結(jié)20篇
- 廣東省深圳市2025屆高三下冊2月標準學術(shù)能力診斷性測試數(shù)學試卷附解析
- 2025年中考語文(長沙用)課件:主題15 探尋時間的印記系列活動
- 2025屆湖北省襄陽市襄城區(qū)中考適應性考試數(shù)學試卷
- 酒店業(yè)大數(shù)據(jù)分析框架構(gòu)建-洞察闡釋
- 2024年平頂山汝州市萬基高級中學招聘教師真題
- 2024年黃岡市醫(yī)療衛(wèi)生機構(gòu)專項招聘中醫(yī)藥專業(yè)技術(shù)人員真題
- 社區(qū)社區(qū)服務創(chuàng)新研究管理基礎知識點歸納
- 國開2025年《資源與運營管理》形考任務1-4答案
- 學習解讀《水利水電建設工程驗收規(guī)程》SLT223-2025課件
- 【MOOC】《電工技術(shù)》(北京科技大學)中國大學MOOC慕課答案
- 上海市2023-2024學年八年級下學期期末數(shù)學練習卷(解析版)
- 應急第一響應人理論考試試卷(含答案)
- 基于微信小程序的連連看小游戲的設計與實現(xiàn)
- 國際汽車貿(mào)易檢驗、檢疫、索賠、仲裁與不可抗力
- (完整版)詳細化學物質(zhì)及其CAS注冊號清單
- 智障兒童的家庭教育(課堂PPT)
- 《電路分析基礎》試題及答案
- 日本文學概論1
評論
0/150
提交評論