版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章
Python常用庫(kù)SOUTHWESTERNUNIVERSITYOFFINANCEANDECONOMICS嚴(yán)謹(jǐn)勤儉求實(shí)開(kāi)拓01科學(xué)技術(shù)庫(kù)NumPy02數(shù)據(jù)處理庫(kù)pandas03數(shù)據(jù)可視化庫(kù)Matplotlib04實(shí)訓(xùn)學(xué)習(xí)目標(biāo)掌握Numpy多維數(shù)組的創(chuàng)建和操作技巧,能夠進(jìn)行數(shù)據(jù)處理和計(jì)算掌握如何使用Series和DataFrame處理和分析數(shù)據(jù)掌握各種類型的數(shù)據(jù)可視化圖表,有效地展示和傳達(dá)數(shù)據(jù)分析的結(jié)果引入案例蘋(píng)果作為全球知名的電子品牌產(chǎn)品,產(chǎn)品覆蓋范圍廣,使用Python數(shù)據(jù)分析能夠?yàn)樘O(píng)果帶來(lái)很高的經(jīng)濟(jì)效益。在市場(chǎng)分析和趨勢(shì)預(yù)測(cè)方面:對(duì)銷量數(shù)據(jù)進(jìn)行時(shí)間序列分析,識(shí)別銷售高峰期。基于市場(chǎng)趨勢(shì),可以預(yù)測(cè)未來(lái)產(chǎn)品的需求量和市場(chǎng)動(dòng)態(tài),從而調(diào)整生產(chǎn)計(jì)劃和供應(yīng)鏈管理,確保產(chǎn)品供應(yīng)與市場(chǎng)需求相匹配。在用戶行為分析和市場(chǎng)定位方面:使用Python分析用戶數(shù)據(jù)(如購(gòu)買(mǎi)行為、偏好和用戶反饋),可以幫助蘋(píng)果公司更好地理解不同用戶群體的需求和偏好。在產(chǎn)品質(zhì)量和性能分析方面:借助Python的數(shù)據(jù)分析工具,可以收集和分析Mac電腦的性能測(cè)試數(shù)據(jù),通過(guò)可視化技術(shù)識(shí)別產(chǎn)品中性能表現(xiàn)不佳的區(qū)域。同時(shí)統(tǒng)計(jì)不同型號(hào)產(chǎn)品的故障率,分析其與生產(chǎn)批次、材料選擇等因素的關(guān)系,利用scipy進(jìn)行假設(shè)檢驗(yàn),確定故障原因。通過(guò)對(duì)各個(gè)階段進(jìn)行跟蹤和分析,能夠及時(shí)調(diào)整設(shè)計(jì)或生產(chǎn)流程。思考:各個(gè)品牌通過(guò)短視頻、直播等方式營(yíng)銷帶貨,企業(yè)獲得運(yùn)營(yíng)及銷售信息后應(yīng)如何分析,哪些數(shù)據(jù)對(duì)于企業(yè)提升效益來(lái)說(shuō)最為重要?主要內(nèi)容3.1NumPyNumPy是Python中用于科學(xué)計(jì)算的基礎(chǔ)包,提供了強(qiáng)大的多維數(shù)組對(duì)象和用于處理這些數(shù)組的函數(shù)3.2pandaspandas是Python中用于數(shù)據(jù)分析和處理的重要庫(kù),它提供了靈活而高效的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作工具,使得數(shù)據(jù)的清洗、轉(zhuǎn)換和分析變得更加簡(jiǎn)單和直觀。3.3MatplotlibMatplotlib是Python中最流行的數(shù)據(jù)可視化庫(kù)之一,它能夠創(chuàng)建各種類型的靜態(tài)、交互式和動(dòng)態(tài)圖形,幫助用戶以直觀、美觀的方式呈現(xiàn)數(shù)據(jù)。Part1科學(xué)技術(shù)庫(kù)NumPy嚴(yán)謹(jǐn)勤儉求實(shí)開(kāi)拓3.1科學(xué)技術(shù)庫(kù)(NumPy) NumPy是Python的一個(gè)開(kāi)源數(shù)值計(jì)算庫(kù),也是Python數(shù)值計(jì)算最重要的基礎(chǔ)包,主要用于數(shù)組計(jì)算,矩陣運(yùn)算等。NumPy是在一個(gè)連續(xù)的內(nèi)存塊中存儲(chǔ)數(shù)據(jù),獨(dú)立于其他Python內(nèi)置對(duì)象。比起Python的內(nèi)置序列,NumPy數(shù)組使用的內(nèi)存更少,可以在整個(gè)數(shù)組上執(zhí)行復(fù)雜的計(jì)算,而不需要Python的for循環(huán)。在數(shù)據(jù)可視化中,NumPy庫(kù)非常方便地與其他數(shù)據(jù)可視化工具(如Matplotlib)結(jié)合使用,幫助用戶快速高效地進(jìn)行數(shù)據(jù)處理和可視化。3.1.1創(chuàng)建數(shù)據(jù)組例(1)使用array函數(shù),該函數(shù)可以接受傳入數(shù)據(jù),然后將其轉(zhuǎn)化為Numpy數(shù)組(2)array()可以將一組等長(zhǎng)數(shù)組轉(zhuǎn)換為n維列表
(3)Numpy提供創(chuàng)建特殊形式組數(shù)的函數(shù)Numpy特點(diǎn):n維數(shù)組對(duì)象(ndaarry),Numpy提供了豐富的數(shù)組處理函數(shù),可以用來(lái)創(chuàng)建、操作多維數(shù)組,進(jìn)行數(shù)據(jù)處理和數(shù)學(xué)運(yùn)算等,在處理大量、復(fù)雜的數(shù)據(jù)時(shí)這些函數(shù)樂(lè)意方便地用于數(shù)據(jù)處理和可視化3.1.2數(shù)學(xué)運(yùn)算NumPy庫(kù)提供了多種數(shù)學(xué)函數(shù),可以方便地對(duì)數(shù)據(jù)進(jìn)行數(shù)學(xué)運(yùn)算,這些運(yùn)算函數(shù)可以用于對(duì)數(shù)據(jù)進(jìn)行處理,進(jìn)而用于數(shù)據(jù)可視化。(1)Numpy中大小相等的數(shù)據(jù)之間的算術(shù)運(yùn)算會(huì)應(yīng)用到元素級(jí)(2)Numpy庫(kù)中常用的運(yùn)算函數(shù)①add()函數(shù)用于逐元素求和
②power()函數(shù)對(duì)數(shù)組逐元素進(jìn)行冪運(yùn)算③round()函數(shù)對(duì)每個(gè)元素四舍五入到最接近的整數(shù)3.1.2數(shù)學(xué)運(yùn)算Numpy中其他常用的數(shù)學(xué)運(yùn)算函數(shù)及功能3.1.3數(shù)據(jù)過(guò)濾和處理NumPy提供了多種函數(shù)用于數(shù)據(jù)的過(guò)濾和處理,如where()函數(shù)可以用來(lái)選取符合條件的數(shù)據(jù),resize()函數(shù)可以用來(lái)改變數(shù)組的大小等。這些函數(shù)能夠幫助用戶對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步處理,以便更好地展示數(shù)據(jù)。當(dāng)需要根據(jù)條件從數(shù)組中選擇特定的元素時(shí),可以使用NumPy提供的數(shù)據(jù)過(guò)濾函數(shù)。例:①使用np.where()函數(shù)根據(jù)條件選擇元素、提取元素②當(dāng)需要對(duì)數(shù)組進(jìn)行數(shù)據(jù)過(guò)濾時(shí),NumPy提供了一些強(qiáng)大的函數(shù),如使用np.nonzero()函數(shù)找出數(shù)組中非零元素的索引。③使用np.isin()函數(shù)檢查數(shù)組中的元素是否包含在另一個(gè)數(shù)組中。3.1.3數(shù)據(jù)過(guò)濾和處理Numpy中還包括其他用于數(shù)據(jù)處理的函數(shù)3.1.4數(shù)據(jù)統(tǒng)計(jì)Numpy還提供了統(tǒng)計(jì)函數(shù),可以用來(lái)計(jì)算數(shù)據(jù)的統(tǒng)計(jì)特性。這些函數(shù)可以幫助用戶對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,找出數(shù)據(jù)的中心趨勢(shì)、離散程度、最大最小值等信息,從而更好地理解數(shù)據(jù),為數(shù)據(jù)可視化提供支持。例:使用np.mean()函數(shù)計(jì)算數(shù)組的平均值
總的來(lái)說(shuō),numpy庫(kù)在數(shù)據(jù)可視化中提供了豐富的功能和工具,可以幫助用戶更輕松地處理和展示數(shù)據(jù)。同時(shí),Numpy庫(kù)的高效性和靈活性也使其成為數(shù)據(jù)處理和可視化領(lǐng)域中的重要工具之一。3.1.4數(shù)據(jù)統(tǒng)計(jì)Numpy中其他常用的數(shù)據(jù)處理函數(shù)Part2數(shù)據(jù)處理庫(kù)pandas嚴(yán)謹(jǐn)勤儉求實(shí)開(kāi)拓3.2數(shù)據(jù)處理庫(kù)(pandas)pandas是Python中用于數(shù)據(jù)處理和分析的強(qiáng)大庫(kù),它提供了靈活而高效的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)操作工具,使得數(shù)據(jù)的清洗、轉(zhuǎn)換和分析變得更加簡(jiǎn)單和直觀。pandas的核心數(shù)據(jù)結(jié)構(gòu)包括Series(一維數(shù)組)和DataFrame(二維表格),這兩種數(shù)據(jù)結(jié)構(gòu)能夠輕松處理不同類型的數(shù)據(jù),并且支持各種數(shù)據(jù)操作和分析,例如索引、切片、合并、分組、聚合等。除了數(shù)據(jù)結(jié)構(gòu)之外,pandas還提供了豐富的功能和方法,包括數(shù)據(jù)讀取、數(shù)據(jù)清洗等。借助于這些功能,用戶可以方便地進(jìn)行數(shù)據(jù)預(yù)處理、數(shù)據(jù)探索性分析和建模分析,為實(shí)際業(yè)務(wù)問(wèn)題提供可靠的數(shù)據(jù)支持??傊?,pandas是Python數(shù)據(jù)科學(xué)領(lǐng)域中不可或缺的重要工具,它為用戶提供了豐富的數(shù)據(jù)處理和分析功能,使得復(fù)雜的數(shù)據(jù)操作變得簡(jiǎn)單易行。3.2數(shù)據(jù)處理庫(kù)(pandas)在使用pandas庫(kù)時(shí),首先要安裝pandas庫(kù),可以使用以下命令進(jìn)行安裝:Pipinstallpandas安裝完成后通過(guò)以下命令將pandas庫(kù)導(dǎo)入Importpandasaspd將pandas庫(kù)導(dǎo)入后可以進(jìn)行讀取文件的操作,從而獲取數(shù)據(jù)進(jìn)行分析。
3.2.1pandas的數(shù)據(jù)結(jié)構(gòu)1.SeriesSeries是一種類似于一維數(shù)組的對(duì)象,它由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)以及?組與之相關(guān)的數(shù)據(jù)標(biāo)簽(即索引)組成。由一組數(shù)據(jù)產(chǎn)生最簡(jiǎn)單的Series:Obj=pd.Series([1,2,3,4,5])2.DataFrameDataFrame是pandas庫(kù)提供的一種核心數(shù)據(jù)結(jié)構(gòu),是一種二維表格型的數(shù)據(jù)結(jié)構(gòu),別適合處理結(jié)構(gòu)化數(shù)據(jù)。它含有?組有序的列,每列可以是不同的值類型(數(shù)值、字符串、布爾值等)。DataFrame既有?索引也有列索引,其中的數(shù)據(jù)是以?個(gè)或多個(gè)?維塊存放的。創(chuàng)建DataFrame最常?的?種方式是直接傳入?個(gè)由等長(zhǎng)列表或Numpy數(shù)組組成的字典3.2.2數(shù)據(jù)讀取1、讀取excel文件(1)語(yǔ)法(2)參數(shù)說(shuō)明
importpandasaspd#導(dǎo)入pandas庫(kù)data=pd.read_excel(io,sheet_name=None,header=None,name=none,index_col=None,usecols=None,skiprows=None,nrows=None)#讀取excel文件 io:讀取的excel文件名,如r'./vote.excel"; sheet_name:excel文件中的sheet表名;
header:哪一行設(shè)置為列索引,默認(rèn)是第一行,即header=0;
names:列索引名;
index_col:使用哪一列作為行索引,默認(rèn)從0開(kāi)始;
usecols:讀取表格中哪幾列,必須是位置索引; skiprows:跳過(guò)前幾行讀取文件,默認(rèn)從0開(kāi)始;nrows:讀取多少行數(shù)據(jù)。3.2.2數(shù)據(jù)讀取2、讀取csv文件(1)語(yǔ)法(2)參數(shù)說(shuō)明csv文件是以逗號(hào)為分隔符的文件,讀取參數(shù)與excel基本類似。文件為gbk格式csv,若不設(shè)置encoding參數(shù)程序會(huì)報(bào)錯(cuò)。encoding:默認(rèn)為'utf-8',還有中文編碼‘gbk’、‘gb18030’、‘gb2312’。就漢字而言,三種編碼方式的表示范圍是:GB18030>GBK>GB2312即GBK是GB2312的超集,GB1803又是GBK的超集。一般讀取中文文本可以直接用encoding=GB18030。data=pd.read_cvs(filepath_or_buffer:FilePathOrBuffer,encording=none)3.2.2數(shù)據(jù)讀取3、讀取txt文件(1)語(yǔ)法(2)參數(shù)說(shuō)明#讀取txt文件data=pd.read_table(filepath_or_buffer:FilePathOrBuffer,sep="\t")txt文件是以指制表符\t為分隔符的文件,參數(shù)與excel、csv基本類似,不同的地方在于必須要指定sep。sep:默認(rèn)為'\t'。Part3數(shù)據(jù)可視化庫(kù)Matplotlib嚴(yán)謹(jǐn)勤儉求實(shí)開(kāi)拓3.3數(shù)據(jù)可視化庫(kù)(Matplotlib)Matplotlib模塊是一個(gè)用于創(chuàng)建圖表和數(shù)據(jù)可視化的功能強(qiáng)大且靈活的工具。它可以用來(lái)繪制各種類型的圖表,包括折線圖、散點(diǎn)圖、柱狀圖、餅圖等。在數(shù)據(jù)分析和數(shù)據(jù)可視化領(lǐng)域,Matplotlib模塊經(jīng)常被用來(lái)探索數(shù)據(jù)、展示數(shù)據(jù)分布、比較不同數(shù)據(jù)集之間的關(guān)系以及展示趨勢(shì)。通過(guò)Matplotlib模塊,用戶能夠完全控制圖表的外觀和格式,包括圖表的大小、顏色、線型、標(biāo)簽等。此外,Matplotlib還具有豐富的功能,例如添加圖例、注釋、網(wǎng)格線等,以幫助用戶更清晰地呈現(xiàn)數(shù)據(jù)。在數(shù)據(jù)可視化中,Matplotlib通常與pandas、Numpy等數(shù)據(jù)處理模塊一起使用。用戶可以通過(guò)這些模塊加載數(shù)據(jù),然后使用Matplotlib創(chuàng)建各種圖表來(lái)展示數(shù)據(jù)。3.3.1認(rèn)識(shí)Matplotlib在任何繪圖之前,需要?jiǎng)?chuàng)建一個(gè)Figure對(duì)象才能開(kāi)始繪圖:pltfig=plt.figure()#創(chuàng)建figure對(duì)象在擁有Figure對(duì)象之后,必須創(chuàng)建subplot才可以進(jìn)行繪圖:其中,nrows和ncols分別表示子圖的行數(shù)和列數(shù),index表示在這個(gè)網(wǎng)格中子圖的索引(從1開(kāi)始計(jì)數(shù)),**kwargs表示可選參數(shù),例如調(diào)整子圖的位置和間距等。常見(jiàn)的屬性包括標(biāo)題(title)、坐標(biāo)軸標(biāo)簽(xlabel和ylabel)、坐標(biāo)軸范圍(xlim和ylim)等。通過(guò)調(diào)用這個(gè)函數(shù),可以方便地對(duì)子圖的各種屬性進(jìn)行設(shè)置。
fig.add_subplot(nrows,ncols,index,**kwargs)
importmatplotlib.pyplotasplt
#導(dǎo)入matplotlib庫(kù),為通常情況下的引入方式:3.3.2繪制線圖(Matplotlib)Matplotlib中最常用的函數(shù)是plot()函數(shù),用來(lái)繪制線圖。在繪制圖表時(shí),plot()函數(shù)可以接受x和y坐標(biāo)數(shù)組作為參數(shù),將這些數(shù)據(jù)點(diǎn)連接起來(lái),并根據(jù)需要添加不同的標(biāo)記、線條顏色和樣式。importmatplotlib.pyplotasplt#導(dǎo)入matplotlib庫(kù)plt.plot(x,y,**kwargs)#接受xy坐標(biāo)作為參數(shù)命令:x=np.linspace(0,10,100)#0到10等距離的100個(gè)點(diǎn)y=np.sin(x)plt.plot(x,y,color='#FF0000')#使用紅色畫(huà)線plt.show()3.3.3繪制垂直柱狀圖x表示柱子的橫坐標(biāo);height表示柱子的高度;width表示柱子的寬度;bottom表示y軸的起始值;align表示柱子與x軸坐標(biāo)的對(duì)齊方式。importmatplotlib.pyplotasplt#導(dǎo)入matplotlib庫(kù)#繪制垂直柱狀圖plt.bar(x,height,width=0.8,bottom=None,align='center',**kwargs)命令:x_date=[5,7,4,6,8]y_date=[10,15,12,16,14]#x表示起始位置plt.bar(x=x_date,height=y_date,width=0.8,color='black’)plt.show()3.3.4繪制水平柱狀圖
y表示柱子在y軸上的坐標(biāo);width表示柱子的寬度,即水平長(zhǎng)度;height表示柱子的高度,與垂直柱狀圖中的寬度相對(duì)應(yīng);left表示每個(gè)柱子在x方向的起始坐標(biāo);align表示柱子同y軸坐標(biāo)的對(duì)齊方式。importmatplotlib.pyplotasplt#導(dǎo)入pandas庫(kù)
#繪制水平柱狀圖plt.barh(y,width,height=0.8,left=None,align='center',**kwargs)x_date=[5,7,4,6,8]y_date=[10,15,12,16,14]#x表示起始位置plt.barh(y=x_date,width=y_date,height=0.8,color='grey’)plt.show()3.3.4繪制餅圖
explode表示每個(gè)部分距離兩邊區(qū)域的距離,單位為圓半徑的長(zhǎng)度;labels表示每個(gè)區(qū)域?qū)?yīng)的字符串序列;colors表示每個(gè)區(qū)域?qū)?yīng)的顏色;autopct表示每個(gè)區(qū)域?qū)?yīng)的數(shù)值,可以是格式化的形式(如"%3.2f%%",后兩個(gè)百分號(hào)會(huì)轉(zhuǎn)義成一個(gè)百分號(hào))或者可以調(diào)用函數(shù);pctdistance表示每個(gè)區(qū)域中的文字距離圓心的距離,單位為圓半徑;shadow:是bool類型,表示是否添加陰影;labeldistane表示圖例距離圓心的距離,單位為半徑長(zhǎng)度;startangle表示餅圖的起點(diǎn)從x軸逆時(shí)針旋轉(zhuǎn)的角度;radius表示餅圖半徑長(zhǎng)度。importmatplotlib.pyplotasplt#導(dǎo)入pandas庫(kù)plt.pie(x,explode=None,labels=None,colors=None,autopct=None,pctdistance=0.6,shadow=False,labeldistance=1.1,startangle=0,radius=1,counterclock=True,wedgeprops=None,textprops=None,center=0,0,frame=False,rotatelabels=False,*,normalize=None,data=None)#繪制餅圖languages=['JavaScript','HTML/CSS','SQL','Python','Java’]popularity=[59219,55466,47544,36443,35917]plt.pie(popularity,labels=languages)plt.show()3.3.6繪制散點(diǎn)圖x,y表示數(shù)據(jù)點(diǎn)的位置;s表示點(diǎn)的大小;c表示點(diǎn)的顏色;marker表示點(diǎn)的形狀。importmatplotlib.pyplotasplt#導(dǎo)入pandas庫(kù)#繪制散點(diǎn)圖plt.scatter(x,y,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省棗莊滕州市2025-2026學(xué)年上學(xué)期期末七年級(jí)生物試卷(含答案)
- 化工醫(yī)藥設(shè)備管理培訓(xùn)課件
- 2025-2026學(xué)年河南省南陽(yáng)市六校聯(lián)考高三(上)期末數(shù)學(xué)試卷(含答案)
- 2026年上海市浦東新區(qū)初三上學(xué)期一模數(shù)學(xué)試卷和參考答案
- 鋼結(jié)構(gòu)項(xiàng)目管理技術(shù)要領(lǐng)
- 特種作業(yè)人員管理制度
- 飛機(jī)的科普教學(xué)課件
- 市政工程公司數(shù)據(jù)管理制度
- 2026年河南投資集團(tuán)招聘部分管理人員10人備考考試題庫(kù)及答案解析
- 2026廣西梧州市招聘中小學(xué)(幼兒園)教師260人考試參考題庫(kù)及答案解析
- 市政工程養(yǎng)護(hù)管理方案匯編
- 房地產(chǎn)項(xiàng)目供應(yīng)鏈標(biāo)準(zhǔn)化流程管理
- 具身智能+老年人認(rèn)知障礙早期識(shí)別方案可行性報(bào)告
- 江蘇省專升本2025年食品科學(xué)與工程食品化學(xué)測(cè)試試卷(含答案)
- 急診PDCA課件教學(xué)課件
- (2021-2025)5年高考1年模擬物理真題分類匯編專題04 機(jī)械能守恒、動(dòng)量守恒及功能關(guān)系(廣東專用)(解析版)
- 2025-2030手術(shù)機(jī)器人醫(yī)生培訓(xùn)體系構(gòu)建與醫(yī)院采購(gòu)決策影響因素報(bào)告
- 乳糜胸護(hù)理新進(jìn)展
- 社區(qū)護(hù)理中的青少年保健
- 手術(shù)室膽囊結(jié)石護(hù)理查房
- QGDW10384-2023輸電線路鋼管塔加工技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論