《Python程序設(shè)計》課件11-Numpy數(shù)值計算_第1頁
《Python程序設(shè)計》課件11-Numpy數(shù)值計算_第2頁
《Python程序設(shè)計》課件11-Numpy數(shù)值計算_第3頁
《Python程序設(shè)計》課件11-Numpy數(shù)值計算_第4頁
《Python程序設(shè)計》課件11-Numpy數(shù)值計算_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

~1~第十一章Numpy數(shù)值計算目錄Numpy概述NumPy基礎(chǔ)數(shù)組運算邏輯運算與條件篩選排序、搜索與計數(shù)Numpy的向量化案例:線性回歸分析-2-1.Numpy概述數(shù)值計算:在現(xiàn)代科學(xué)和工程計算中,處理大規(guī)模數(shù)據(jù)和執(zhí)行復(fù)雜的數(shù)值計算已成為常態(tài)。Python作為一種高效、易學(xué)的編程語言,其在數(shù)據(jù)科學(xué)領(lǐng)域的廣泛應(yīng)用部分歸功于NumPy庫Numpy的主要功能:NumPy(NumericalPython):Python編程語言的一個核心庫,專為處理大規(guī)模的數(shù)值數(shù)據(jù)而設(shè)計,其主要功能包括:多維數(shù)組對象(ndarray):提供對多維數(shù)組的高效操作。數(shù)值計算的高性能函數(shù):支持快速的數(shù)學(xué)運算,包括線性代數(shù)、傅里葉變換等。強(qiáng)大的廣播機(jī)制:允許對不同形狀的數(shù)組進(jìn)行靈活的運算。NumPy的優(yōu)勢體現(xiàn)在:高效的數(shù)值計算:NumPy的核心是其多維數(shù)組對象,提供了快速、靈活的數(shù)組操作,這在處理大型數(shù)據(jù)集時尤為重要。Python科學(xué)計算的基礎(chǔ):NumPy是許多其他科學(xué)計算庫(如SciPy、Pandas、Matplotlib、TensorFlow等)的基礎(chǔ),這些庫廣泛用于數(shù)據(jù)分析、機(jī)器學(xué)習(xí)和人工智能領(lǐng)域??缯Z言性能優(yōu)勢:NumPy在底層使用C和Fortran編寫,以確保性能接近于純C或Fortran程序,同時保留了Python的靈活性和易用性。32.NumPy基礎(chǔ)2.1NumPy的安裝與配置在開始使用NumPy之前,需要先進(jìn)行安裝和配置。NumPy可以通過Python包管理工具pip進(jìn)行安裝。要使用pip安裝NumPy,打開命令行或終端,輸入以下命令:pipinstallnumpy安裝NumPy后,通過Python解釋器導(dǎo)入NumPy來驗證安裝是否成功:importnumpyasnpprint(np.__version__)執(zhí)行上述代碼,如果輸出了NumPy的版本號,則表示安裝成功。42.2ndarray對象ndarray(N-dimensionalarray):是NumPy的核心數(shù)據(jù)結(jié)構(gòu),支持多維數(shù)組和矩陣運算。與Python的列表list相比,ndarray具有更高的性能和更豐富的功能。創(chuàng)建ndarray有兩種方法。方法一:從Python列表或元組創(chuàng)建:NumPy可將Python的列表或元組轉(zhuǎn)換為ndarray對象:importnumpyasnp#從列表創(chuàng)建一維數(shù)組array_1d=np.array([1,2,3,4,5])print(array_1d)#從嵌套列表創(chuàng)建二維數(shù)組array_2d=np.array([[1,2,3],[4,5,6]])print(array_2d)5方法二:使用NumPy內(nèi)置函數(shù):NumPy提供了多種內(nèi)置函數(shù)用于創(chuàng)建特定類型的數(shù)組。(1)np.zeros(shape):創(chuàng)建全零數(shù)組。zeros_array=np.zeros((3,3))print(zeros_array)(2)np.ones(shape):創(chuàng)建全一數(shù)組。ones_array=np.ones((2,4))print(ones_array)(3)np.eye(N):創(chuàng)建N×N的單位矩陣。eye_array=np.eye(4)print(eye_array)(4)np.arange(start,stop,step):用于創(chuàng)建一個等差數(shù)列的數(shù)組,從start開始(包含)到stop結(jié)束(不包含),以step為步長。arange_array=np.arange(0,10,2)print(arange_array)(5)np.linspace(start,stop,num):用于創(chuàng)建一個等間隔數(shù)列的數(shù)組,從start開始到stop結(jié)束(包含),生成的數(shù)組具有num個元素。linspace方法名稱來源于linearspace(線性空間)的縮寫。linspace_array=np.linspace(0,1,5)print(linspace_array)62.3ndarray的屬性和方法NumPy數(shù)組對象具有豐富的屬性和方法,用于獲取數(shù)組的基本信息和執(zhí)行常見操作:ndarray的屬性ndarray.shape:數(shù)組的形狀ndarray.size:數(shù)組的元素總數(shù)ndarray.dtype:數(shù)組元素的數(shù)據(jù)類型ndarray.ndim:數(shù)組的維數(shù)array=np.array([[1,2,3],[4,5,6]])print(array.shape)#輸出:(2,3)print(array.size)#輸出:6print(array.dtype)#輸出:int64(根據(jù)系統(tǒng)不同,可能不同)print(array.ndim)#輸出:27ndarray的方法ndarray.reshape(shape):改變數(shù)組形狀,將一個數(shù)組的形狀從一個維度變換為另一個維度,其中shape用一個整數(shù)元組表示。該方法是按照元素的行優(yōu)先順序(即按行主序,也叫C-order)來重新排列數(shù)組的形狀。這意味著元素在內(nèi)存中的存儲順序不會改變,而是將這些元素按照新的形狀進(jìn)行重新解釋。array=np.array([[1,2,3],[4,5,6]])reshaped_array=array.reshape((3,2))print(reshaped_array)ndarray.flatten():將多維數(shù)組展開為一維。flattened_array=array.flatten()print(flattened_array)ndarray.transpose():轉(zhuǎn)置數(shù)組。transposed_array=array.transpose()print(transposed_array)ndarray.astype(dtype):轉(zhuǎn)換數(shù)組的數(shù)據(jù)類型,返回一個新數(shù)組,數(shù)組的數(shù)據(jù)類型為指定的類型,其中dtype參數(shù)指定要轉(zhuǎn)換成的數(shù)據(jù)類型。float_array=array.astype(float)print(float_array)82.4數(shù)組的索引和切片NumPy支持豐富的索引和切片操作,允許對數(shù)組進(jìn)行靈活的訪問和修改。(1)基本索引:使用整數(shù)索引訪問和修改數(shù)組中的單個元素。array=np.array([10,20,30,40,50])print(array[0])#輸出:10array[1]=25print(array)#輸出:[1025304050](2)切片操作:使用切片訪問數(shù)組的子集,語法類似于Python的list,但在NumPy中切片返回的是視圖(view)而非副本,這意味著對切片的修改會直接影響原數(shù)組。NumPy支持多維切片,允許在每個維度上進(jìn)行靈活的切片操作。array=np.array([10,20,30,40,50])sub_array=array[1:4]print(sub_array)#輸出:[203040]#二維數(shù)組切片array_2d=np.array([[1,2,3],[4,5,6],[7,8,9]])sub_array_2d=array_2d[:2,1:]print(sub_array_2d)#輸出:[[23][56]]9(3)布爾索引:根據(jù)條件表達(dá)式直接從數(shù)組中提取滿足特定條件的元素。具體來說,布爾索引是利用布爾數(shù)組對原數(shù)組進(jìn)行索引的一種方法。布爾數(shù)組與原數(shù)組形狀相同,其中的布爾值(True或False)用于指示是否選擇對應(yīng)位置的元素。當(dāng)布爾值為True時,選擇該位置的元素;否則,忽略該元素。importnumpyasnparr=np.array([1,2,3,4,5])#創(chuàng)建一個布爾索引條件,生成布爾數(shù)組bool_index=arr>3print(bool_index)可以使用布爾索引從數(shù)組中選擇元素。#使用布爾索引從數(shù)組中選擇元素filtered_arr=arr[bool_index]print(filtered_arr)在上例中,布爾索引條件是通過布爾條件表達(dá)式來生成布爾數(shù)組,用于篩選原數(shù)組中滿足特定條件的元素。這個布爾條件表達(dá)式可以是任何返回布爾值的比較操作,比如等于(==)、大于(>)、以及組合多個條件的邏輯操作符(&,|,~))等。例如,布爾表達(dá)式arr>3會遍歷arr數(shù)組的每個元素,并對每個元素返回相應(yīng)的布爾值True或False,這與map()函數(shù)對每個元素應(yīng)用一個函數(shù)非常相似。10運行結(jié)果:[FalseFalseFalseTrueTrue]運行結(jié)果:[45]3.數(shù)組運算NumPy提供了豐富的數(shù)組運算功能,支持各種數(shù)學(xué)運算、統(tǒng)計分析和線性代數(shù)計算(1)基本數(shù)學(xué)運算NumPy中的數(shù)組運算允許用戶在數(shù)組間執(zhí)行各種數(shù)學(xué)操作,而無需顯式編寫循環(huán)。這些運算支持標(biāo)量與數(shù)組間的運算以及數(shù)組間的元素級運算。(1)標(biāo)量與數(shù)組運算:NumPy支持對數(shù)組中的每個元素執(zhí)行標(biāo)量運算。例如,數(shù)組可以與標(biāo)量相加、相減、相乘或相除,這些運算將應(yīng)用于數(shù)組的每個元素。importnumpyasnp

#創(chuàng)建一個數(shù)組array=np.array([1,2,3,4])

#標(biāo)量加法result_add=array+10print(result_add)#輸出:[11121314]

#標(biāo)量乘法result_mul=array*2print(result_mul)#輸出:[2468]113.數(shù)組運算(2)數(shù)組間運算:對于數(shù)組間的運算,NumPy支持逐元素的加、減、乘、除。這要求參與運算的兩個數(shù)組具有相同的形狀。array1=np.array([1,2,3])array2=np.array([4,5,6])

#數(shù)組加法result_sum=array1+array2print(result_sum)#輸出:[579]

#數(shù)組乘法result_prod=array1*array2print(result_prod)#輸出:[41018]12(3)廣播機(jī)制:允許不同形狀的數(shù)組之間執(zhí)行運算,前提是它們的形狀在某些維度上兼容。廣播機(jī)制會自動擴(kuò)展較小的數(shù)組,使其與較大的數(shù)組匹配。array=np.array([[1,2,3],[4,5,6]])scalar=10

#廣播機(jī)制將標(biāo)量擴(kuò)展為數(shù)組形狀result_broadcast=array+scalarprint(result_broadcast)如果兩個數(shù)組的形狀在最后幾維相同,或者其中一個數(shù)組的維度為1,則可以執(zhí)行廣播。array1=np.array([[1,2,3],[4,5,6]])#形狀(2,3)array2=np.array([10,20,30])#形狀(1,3)

result_broadcast=array1+array2print(result_broadcast)上例中,array1的形狀是(2,3),而array2的形狀是(1,3)。由于它們的形狀在最后一維相同,且array2的第一維是1,根據(jù)廣播規(guī)則,array2可以在計算時沿第一個維度自動擴(kuò)展,變成形狀(2,3),即[[10,20,30],[10,20,30]],從而與array1相加得到結(jié)果。13[[111213][141516]][[112233][142536]](2)統(tǒng)計函數(shù):NumPy提供了多種統(tǒng)計函數(shù),用于分析數(shù)組數(shù)據(jù)的分布特征。這些函數(shù)可以用于計算數(shù)組的均值、標(biāo)準(zhǔn)差、方差、最大值、最小值等。1)均值、標(biāo)準(zhǔn)差、方差均值(mean):數(shù)組元素的平均值。array=np.array([1,2,3,4,5])mean_value=np.mean(array)print(mean_value)#輸出:3.0標(biāo)準(zhǔn)差(standarddeviation):描述數(shù)據(jù)的離散程度。std_deviation=np.std(array)print(std_deviation)#輸出:1.4142135623730951方差(variance):標(biāo)準(zhǔn)差的平方,表示數(shù)據(jù)分布的離散程度。variance_value=np.var(array)print(variance_value)#輸出:2.014這些函數(shù)可以通過指定axis參數(shù)來沿數(shù)組的特定軸進(jìn)行計算。在NumPy中,axis參數(shù)用于指定數(shù)組操作的方向,它決定了在哪個方向上壓縮數(shù)組。以二維數(shù)組為例:axis=0:沿著列的方向(垂直方向)進(jìn)行操作,跨行進(jìn)行運算,對于axis=0,操作會在每一列上進(jìn)行,這意味著結(jié)果是對每一列的值進(jìn)行聚合。axis=1:沿著行的方向(水平方向)進(jìn)行操作,跨列進(jìn)行運算。對于axis=1,操作會在每一行上進(jìn)行,這意味著結(jié)果是對每一行的值進(jìn)行聚合。array_2d=np.array([[1,2,3],[4,5,6]])#沿列計算均值mean_along_axis0=np.mean(array_2d,axis=0)print(mean_along_axis0)#輸出:[2.53.54.5]#沿行計算標(biāo)準(zhǔn)差std_along_axis1=np.std(array_2d,axis=1)print(std_along_axis1)#輸出:[0.816496580.81649658]2)最大值、最小值最大值(max):數(shù)組中的最大元素。max_value=np.max(array)print(max_value)#輸出:5最小值(min):數(shù)組中的最小元素。min_value=np.min(array)print(min_value)#輸出:1同樣,axis參數(shù)可以用于在特定軸上計算最大值和最小值:#沿列計算最大值max_along_axis0=np.max(array_2d,axis=0)print(max_along_axis0)#輸出:[456]#沿行計算最小值min_along_axis1=np.min(array_2d,axis=1)print(min_along_axis1)#輸出:[14]15(3)線性代數(shù)運算:(1)矩陣乘法:使用np.dot()函數(shù)或@運算符進(jìn)行矩陣乘法matrix1=np.array([[1,2],[3,4]])matrix2=np.array([[5,6],[7,8]])#矩陣乘法product=np.dot(matrix1,matrix2)#product=matrix1@matrix2#同理print(product)運行結(jié)果:[[1922][4350]]16(2)逆矩陣與特征值:矩陣A的逆矩陣是一個矩陣B,使得AB=I(單位矩陣),計算逆矩陣需要確保矩陣是方陣且可逆。NumPy庫中numpy.linalg模塊提供的函數(shù)inv()用于計算矩陣的逆矩陣。fromnumpy.linalgimportinv

matrix=np.array([[1,2],[3,4]])inverse_matrix=inv(matrix)print(inverse_matrix)運行結(jié)果:[[-2.1.][1.5-0.5]](3)特征值與特征向量:特征值是線性變換不變的標(biāo)量值,特征向量是在變換下保持方向不變的向量。使用np.linalg.eig()計算特征值和特征向量。fromnumpy.linalgimporteig

matrix=np.array([[1,2],[2,1]])eigenvalues,eigenvectors=eig(matrix)print("特征值:",eigenvalues)print("特征向量:\n",eigenvectors)運行結(jié)果:特征值:[3.-1.]特征向量:[[0.70710678-0.70710678][0.707106780.70710678]]174.邏輯運算與條件篩選NumPy支持靈活的邏輯運算與條件篩選功能,允許用戶基于條件高效地過濾和操作數(shù)組數(shù)據(jù)。(1)布爾數(shù)組:是由布爾值(True或False)組成的數(shù)組,用于邏輯運算和條件篩選。布爾數(shù)組通常由比較操作生成,#創(chuàng)建一個數(shù)組array=np.array([1,2,3,4,5])

#生成布爾數(shù)組bool_array=array>3print(bool_array)#輸出:[FalseFalseFalseTrueTrue]布爾數(shù)組可以用于數(shù)組的元素級邏輯運算array1=np.array([True,False,True])array2=np.array([False,False,True])

#布爾與result_and=np.logical_and(array1,array2)print(result_and)#輸出:[FalseFalseTrue]

#布爾或result_or=np.logical_or(array1,array2)print(result_or)#輸出:[TrueFalseTrue]18(2)條件索引與過濾:使用布爾數(shù)組對數(shù)組進(jìn)行條件索引和過濾,從數(shù)組中提取滿足特定條件的元素。array=np.array([10,20,30,40,50])

#使用布爾索引過濾數(shù)組元素filtered_array=array[array>30]print(filtered_array)#輸出:[4050]在此例中,array>30會返回一個布爾數(shù)組[False,False,False,True,True],表示每個元素是否大于30。使用array[array>30],利用布爾索引的方法只提取布爾數(shù)組中值為True的位置對應(yīng)的元素。條件篩選也可以結(jié)合其他操作進(jìn)行更復(fù)雜的數(shù)據(jù)處理。array=np.array([[1,2,3],[4,5,6]])#使用條件篩選替換數(shù)組中的特定值array[array%2==0]=0print(array)運行結(jié)果:[[103][050]]5.排序、搜索與計數(shù)NumPy提供了一系列函數(shù)用于對數(shù)組進(jìn)行排序、搜索和計數(shù)操作,高效組織和分析數(shù)據(jù)。(1)數(shù)組排序:NumPy的sort()函數(shù)用于對數(shù)組進(jìn)行排序,返回排序后的數(shù)組:array=np.array([3,1,2,5,4])

#對數(shù)組進(jìn)行排序sorted_array=np.sort(array)print(sorted_array)#輸出:[12345]NumPy也支持對多維數(shù)組的特定軸進(jìn)行排序:array_2d=np.array([[10,1,8],[9,5,6]])

#沿列排序sorted_array_along_axis0=np.sort(array_2d,axis=0)print(sorted_array_along_axis0)運行結(jié)果:[[916][1058]]19(2)唯一值與去重:NumPy提供unique()函數(shù)用于查找數(shù)組中的唯一值,并去除重復(fù)項。array=np.array([1,2,2,3,3,3,4])

#查找唯一值unique_values=np.unique(array)print(unique_values)#輸出:[1234]6.Numpy的向量化向量化是NumPy的一個核心特性,通過批量操作替代逐元素的標(biāo)量運算或循環(huán)處理,以顯著提升性能、減少代碼復(fù)雜性,并充分利用底層硬件(如SIMD指令、并行計算等)20(2)逐元素操作的批量化將標(biāo)量的逐元素運算擴(kuò)展為數(shù)組的批量操作,例如算術(shù)運算、數(shù)學(xué)函數(shù)等。#標(biāo)量方式x=2result=x**2

#向量化方式arr=np.array([1,2,3,4])result=arr**2#[1,4,9,16](1)消除顯式循環(huán)避免Python層面的for循環(huán),減少解釋器的開銷。通過NumPy的批量操作,直接對數(shù)組整體進(jìn)行計算。importnumpyasnp

#循環(huán)方式lst=[1,2,3,4,5]result=[x*2forxinlst]

#向量化方式arr=np.array(lst)result=arr*2#[2,4,6,8,10](3)內(nèi)置數(shù)學(xué)函數(shù)NumPy提供的數(shù)學(xué)函數(shù)(如sin、cos、sqrt)可以直接應(yīng)用于數(shù)組,這些函數(shù)本身是向量化的。arr=np.array([0,np.pi/2,np.pi])result=np.sin(arr)#[0.0,1.0,0.0](4)簡化復(fù)雜運算邏輯通過廣播、內(nèi)置函數(shù)和高級索引,將復(fù)雜的多步驟操作合并為單步或少量操作。#循環(huán)方式arr=[1,2,3,4]result=sum([x**2forxinarr])

#向量化方式arr=np.array([1,2,3,4])result=np.sum(arr**2)#更高效217.案例:線性回歸分析線性回歸:在數(shù)據(jù)科學(xué)中,線性回歸是一種常用的預(yù)測模型,通過擬合一個線性方程來描述自變量和因變量之間的線性關(guān)系。例:使用線性回歸模型分析并預(yù)測GDP使用線性回歸模型來對模擬的GDP數(shù)據(jù)進(jìn)行分析,并預(yù)測未來兩年的GDP。整個過程包括數(shù)據(jù)準(zhǔn)備、年度增長率計算、回歸模型訓(xùn)練和未來數(shù)據(jù)的預(yù)測。22(1)導(dǎo)入庫并模擬GDP數(shù)據(jù)首先導(dǎo)入NumPy庫,并模擬一組GDP時間序列數(shù)據(jù)作為輸入。importnumpyasnp#模擬GDP時間序列數(shù)據(jù)(單位:萬億美元)gdp_data=np.array([18.57,18.71,18.83,18.96,19.08,19.21,19.33,19.45,19.57,19.70])(2)計算年度增長率年度增長率用于衡量經(jīng)濟(jì)增長情況。計算方法為相鄰年份的GDP差值除以前一年的GDP。#計算GDP的年度增長率gdp_growth_rate=np.diff(gdp_data)/gdp_data[:-1]*100print("GDP年度增長率:",gdp_growth_rate)np.diff()方法用于計算數(shù)組中相鄰元素的差值。它會返回一個新數(shù)組,其中的每個元素是原數(shù)組中相鄰元素的差值。在此例中,np.diff(gdp_data)計算了GDP數(shù)據(jù)中相鄰年份之間的差值,用以衡量年度GDP的變化。23(3)準(zhǔn)備回歸模型的數(shù)據(jù)線性回歸模型通過擬合直線方程,描述自變量與因變量之間的關(guān)系。這里將年份數(shù)據(jù)作為自變量(X),GDP數(shù)據(jù)作為因變量(y)。為了進(jìn)行回歸分析,還需要為自變量增加偏置項(截距),以便模型可以更好地擬合。#準(zhǔn)備回歸模型的數(shù)據(jù),X為自變量(年份),y為因變量(GDP)X=np.arange(len(gdp_data)).reshape(-1,1)y=gdp_data#增加偏置項(截距)X_b=np.c_[np.ones((X.shape[0],1)),X]X使用np.arange()函數(shù)生成表示年份的數(shù)據(jù),并通過reshape(-1,1)轉(zhuǎn)換為列向量,表示10年的數(shù)據(jù)序列。y為前面創(chuàng)建的gdp_data,表示GDP的實際數(shù)值。然后通過np.ones()生成一個全是1的列向量,用作偏置項,并與X拼接在一起,生成包含偏置項的特征矩陣X_b,以確保模型中包含截距項。np.c_[]是NumPy提供的一種方便的拼接操作,可以將多個數(shù)組沿著列方向拼接在一起。24

25(5)預(yù)測未來的GDP通過已擬合的線性回歸模型,對未來年份進(jìn)行預(yù)測。只需將未來年份的數(shù)據(jù)輸入回歸方程,結(jié)合計算出的回歸系數(shù),即能得出未來的GDP預(yù)測值。#預(yù)測未來GDPX_new=np.array([[len(gdp_data)],[len(gdp_data)+1]])#未來兩年X_new_b=np.c_[np.ones((X_new.shape[0],1)),X_new]gdp_predict=X_new_b.dot(theta_best)print("未來GDP預(yù)測:",gdp_predict)首先創(chuàng)建了未來兩年的年份數(shù)據(jù)X_new,并與偏置項拼接為矩陣X_new_b。然后將該矩陣與回歸系數(shù)theta_best相乘,得到了未來兩年的GDP預(yù)測值。通過這種方式,利用線性回歸模型可以預(yù)測未來的經(jīng)濟(jì)增長情況。運行結(jié)果:GDP年度增長率:[0.753904150.641368250.690387680.632911390.681341720.624674650.620796690.616966580.66428206]回歸系數(shù):[18.581090910.12442424]未來GDP預(yù)測:[19.8253333319.94975758]26Numpy的方法與屬性匯總表類別方法/屬性說明數(shù)組創(chuàng)建np.array()從Python列表或元組創(chuàng)建數(shù)組。np.zeros()創(chuàng)建全零數(shù)組,指定形狀。np.ones()創(chuàng)建全一數(shù)組,指定形狀。np.arange()創(chuàng)建等差序列數(shù)組,類似于range函數(shù)。np.linspace()在指定范圍內(nèi)創(chuàng)建等距數(shù)值數(shù)組。np.eye()創(chuàng)建單位矩陣。np.random.rand()創(chuàng)建0到1之間均勻分布的隨機(jī)數(shù)數(shù)組。np.random.randint()創(chuàng)建整數(shù)隨機(jī)數(shù)數(shù)組,指定范圍和形狀。數(shù)組屬性ndarray.shape返回數(shù)組的形狀(行數(shù)和列數(shù))。ndarray.size返回數(shù)組的元素總數(shù)。ndarray.ndim返回數(shù)組的維數(shù)。ndarray.dtype返回數(shù)組元素的數(shù)據(jù)類型。ndarray.itemsize返回數(shù)組中每個元素的字節(jié)大小。數(shù)組索引和切片ndarray[index]根據(jù)索引訪問數(shù)組元素,支持負(fù)索引。ndarray[start:end:step]進(jìn)行切片操作,支持步長選擇。np.where()根據(jù)條件返回滿足條件的索引或替換值。np.take()從數(shù)組中提取指定位置的元素,支持多維數(shù)組。數(shù)組運算np.add()元素逐一相加。np.subtract()元素逐一相減。np.multiply()元素逐一相乘。np.divide()元素逐一相除。np.power()對每個元素求冪。np.exp()計算數(shù)組中所有元素的指數(shù)。np.sqrt()計算數(shù)組中所有元素的平方根。np.log()計算數(shù)組中所有元素的自然對數(shù)。np.abs()計算數(shù)組中所有元素的絕對值。統(tǒng)計函數(shù)np.sum()計算數(shù)組的總和,可以指定軸(axis)求和。np.mean()計算數(shù)組的均值。np.median()計算數(shù)組的中位數(shù)。np.std()計算數(shù)組的標(biāo)準(zhǔn)差。np.var()計算數(shù)組的方差。np.min()找到數(shù)組中的最小值。np.max()找到數(shù)組中的最大值。np.cumsum()計算數(shù)組的累積和。np.cumprod()計算數(shù)組的累積積。27類別方法/屬性說明數(shù)組創(chuàng)建np.array()從Python列表或元組創(chuàng)建數(shù)組。線性代數(shù)運算np.dot()計算兩個數(shù)組的點積(矩陣乘法)。np.matmul()矩陣乘法,支持多維矩陣相乘。np.linalg.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論