3.2 使用多種方法創(chuàng)建NumPy數(shù)組對象_第1頁
3.2 使用多種方法創(chuàng)建NumPy數(shù)組對象_第2頁
3.2 使用多種方法創(chuàng)建NumPy數(shù)組對象_第3頁
3.2 使用多種方法創(chuàng)建NumPy數(shù)組對象_第4頁
3.2 使用多種方法創(chuàng)建NumPy數(shù)組對象_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python數(shù)據(jù)分析基礎與應用模塊3數(shù)據(jù)分析應用NumPy3.2使用多種方法創(chuàng)建NumPy數(shù)組對象NumPy定義了一個稱為ndarray的數(shù)組對象,它是一個一系列相同類型元素組成的數(shù)組集合。該數(shù)組是由相同類型的數(shù)據(jù)按有序的形式組織而成的一個集合,組成數(shù)組的各個數(shù)據(jù)稱為數(shù)組元素,數(shù)組中的每個元素都占有大小相同的內存塊,可以使用索引或切片的方式獲取數(shù)組中的每個元素。與Python中的數(shù)組相比,ndarray對象可以處理結構更復雜的數(shù)據(jù)。ndarray對象采用了數(shù)組的索引機制,將數(shù)組中的每個元素映射到內存塊上,并且按照一定的布局對內存塊進行排列,常用的布局方式有兩種,即按行或者按列。3.2.1初識ndarray對象3.2.1初識ndarray對象通過NumPy的內置函數(shù)array()可以方便創(chuàng)建ndarray對象,其語法格式如下:numpy.array(object,dtype=None,copy=True,order=None,ndmin=0)函數(shù)array()的參數(shù)說明如下:?object:表示一個數(shù)組序列。?dtype:為可選參數(shù),通過它可以更改數(shù)組的數(shù)據(jù)類型。?copy:為可選參數(shù),表示數(shù)組能否被復制,默認是True。?order:以哪種內存布局方式創(chuàng)建數(shù)組,有3個可選值,分別是C(行序列)、F(列序列)、A(默認)。?ndmin:用于指定數(shù)組的維度。3.2.2熟悉與使用NumPy數(shù)據(jù)類型1.熟悉NumPy數(shù)據(jù)類型NumPy作為Python的擴展包,它提供了比Python更加豐富的數(shù)據(jù)類型。2.熟悉NumPy數(shù)據(jù)類型標識字符碼NumPy中每種數(shù)據(jù)類型都有一個唯一標識的字符,如表3-1所示。表3-1NumPy數(shù)據(jù)類型的標識字符碼類型標識字符對應的數(shù)據(jù)類型類型標識字符對應的數(shù)據(jù)類型b代表布爾型Mdatatime(日期時間)i帶符號整型OPython對象u無符號整型S字節(jié)串f浮點型a字符串c復數(shù)浮點型UUnicodem時間間隔(timedelta)V原始數(shù)據(jù)(void)3.2.2熟悉與使用NumPy數(shù)據(jù)類型3.熟悉NumPy數(shù)據(jù)類型對象NumPy的數(shù)據(jù)類型對象(DataTypeObject)又稱dtype對象,主要用來描述NumPy數(shù)組元素的數(shù)據(jù)類型、大小以及字節(jié)順序。例如常見的int64、float32都是dtype對象的實例,其語法格式如下:importnumpyasnpnp.dtype(object)創(chuàng)建一個dtype對象可以使用下列方法:dt=np.dtype(64)3.2.3創(chuàng)建NumPy一維數(shù)組對象1.快速定義與使用一維NumPy數(shù)組在Python的交互式界面輸入代碼與觀察代碼運行結果:>>>importnumpyasnp>>>np_array=np.array([1,2,3,4,5])>>>print(np_array)代碼運行結果如下:[12345]>>>print(type(np_array))#輸出結果為<class'numpy.ndarray'>在上面的簡單實例中,首先使用importnumpy命令導入NumPy庫。然后,創(chuàng)建了一個包含5個整數(shù)的簡單NumPy數(shù)組,然后將其在交互界面輸出。3.2.3創(chuàng)建NumPy一維數(shù)組對象2.使用多種方法定義一維NumPy數(shù)組方法1:使用array函數(shù),通過列表list創(chuàng)建數(shù)組對象。代碼如下:importnumpyasnparray1=np.array([1,2,3,4,5])array1輸出結果:array([1,2,3,4,5])3.2.3創(chuàng)建NumPy一維數(shù)組對象2.使用多種方法定義一維NumPy數(shù)組方法2:使用array函數(shù),通過元組tuple創(chuàng)建數(shù)組對象。代碼如下:array2=np.array((1,2,3,4,5))array2輸出結果:array([1,2,3,4,5])3.2.3創(chuàng)建NumPy一維數(shù)組對象方法3:使用asarange函數(shù)定義數(shù)組對象。asarray()與array()類似,但是它比array()更為簡單。asarray()函數(shù)能夠將一個Python序列轉化為ndarray對象,其語法格式如下:numpy.asarray(sequence,dtype=None,order=None)asarray()函數(shù)的參數(shù)說明如下:?sequence:接受一個Python序列,可以是列表或者元組;?dtype:為可選參數(shù),數(shù)組的數(shù)據(jù)類型;?order:指數(shù)組元素在計算機內存中的儲存順序,可以設置為C或者F,“C”代表以行順序存儲,“F”則表示以列順序存儲,默認順序是“C”,即以行優(yōu)先順序存儲。3.2.3創(chuàng)建NumPy一維數(shù)組對象方法4:使用numpy.random模塊的函數(shù)生成隨機數(shù)創(chuàng)建數(shù)組對象。(1)用10個[0,1)范圍的隨機小數(shù)構成數(shù)組代碼如下:array5=np.random.rand(10)(2)用10個[1,100)范圍的隨機整數(shù)構成數(shù)組代碼如下:array6=np.random.randint(1,100,10)(3)用20個均值為50,標準差10的正態(tài)分布隨機數(shù)構成數(shù)組代碼如下:array7=np.random.normal(50,10,20)3.2.4創(chuàng)建NumPy二維數(shù)組對象1.快速定義與使用二維NumPy數(shù)組在Python的交互式界面輸入代碼與觀察代碼運行結果:>>>importnumpyasnp>>>my_2d_array=np.zeros((2,3))>>>print(my_2d_array)將在屏幕上輸出以下內容:[[0.0.0.][0.0.0.]]3.2.4創(chuàng)建NumPy二維數(shù)組對象2.使用多種方法定義二維NumPy數(shù)組方法1:使用array函數(shù),通過嵌套的列表list創(chuàng)建數(shù)組對象。代碼如下:importnumpyasnparray1=np.array([[1,2,3],[4,5,6]])array1輸出結果:array([[1,2,3],[4,5,6]])3.2.4創(chuàng)建NumPy二維數(shù)組對象方法2:使用zeros、ones、full函數(shù)指定數(shù)組的形狀創(chuàng)建數(shù)組對象。(1)使用zeros函數(shù)指定數(shù)組的形狀創(chuàng)建數(shù)組對象zeros()函數(shù)用來創(chuàng)建元素均為0的數(shù)組,同時還可以指定被數(shù)組的形狀,語法格式如下:numpy.zeros(shape,dtype=float,order="C")該函數(shù)的參數(shù)說明如下:?shape:指定數(shù)組的形狀大小。?dtype:為可選項,指定數(shù)組的數(shù)據(jù)類型,默認數(shù)據(jù)類型為float。?order:指數(shù)組元素在計算機內存中的儲存順序,“C”代表以行順序存儲,“F”則表示以列順序存儲,默認順序是“C”,即以行優(yōu)先順序存儲。3.2.4創(chuàng)建NumPy二維數(shù)組對象方法2:使用zeros、ones、full函數(shù)指定數(shù)組的形狀創(chuàng)建數(shù)組對象。(1)使用zeros函數(shù)指定數(shù)組的形狀創(chuàng)建數(shù)組對象代碼如下:array2=np.zeros((3,4))array2輸出結果:array([[0.,0.,0.,0.],[0.,0.,0.,0.],[0.,0.,0.,0.]])3.2.4創(chuàng)建NumPy二維數(shù)組對象(2)使用ones函數(shù)指定數(shù)組的形狀創(chuàng)建數(shù)組對象ones()函數(shù)返回指定形狀大小與數(shù)據(jù)類型的新數(shù)組,并且新數(shù)組中每項元素均用1填充,語法格式如下:numpy.ones(shape,dtype=None,order='C')代碼如下:array3=np.ones((3,4))array3輸出結果:array([[1.,1.,1.,1.],[1.,1.,1.,1.],[1.,1.,1.,1.]])3.2.4創(chuàng)建NumPy二維數(shù)組對象(3)使用full函數(shù)指定數(shù)組的形狀創(chuàng)建數(shù)組對象代碼如下:array4=np.full((3,4),6)array4輸出結果:array([[6,6,6,6],[6,6,6,6],[6,6,6,6]])3.2.4創(chuàng)建NumPy二維數(shù)組對象方法3:使用eye函數(shù)創(chuàng)建單位矩陣。代碼如下:array5=np.eye(3)array5輸出結果:array([[1.,0.,0.],[0.,1.,0.],[0.,0.,1.]])3.2.4創(chuàng)建NumPy二維數(shù)組對象方法4:使用reshape方法將一維數(shù)組變成二維數(shù)組。代碼如下:array6=np.array([1,2,3,4,5,6]).reshape(2,3)array6輸出結果:array([[1,2,3],[4,5,6]])3.2.4創(chuàng)建NumPy二維數(shù)組對象方法5:使用numpy.random模塊的函數(shù)生成隨機數(shù)創(chuàng)建數(shù)組對象。代碼如下:array7=np.random.rand(2,3)array7代碼如下:array8=np.random.randint(1,100,(3,4))array83.2.4創(chuàng)建NumPy二維數(shù)組對象方法6:使用numpy.empty()方法創(chuàng)建未初始化的數(shù)組。numpy的方法empty()用于創(chuàng)建未初始化的數(shù)組,可以指定創(chuàng)建數(shù)組的形狀(shape)和數(shù)據(jù)類型(dtype),其語法格式如下:numpy.empty(shape,dtype=float,order='C')該方法的參數(shù)說明如下:?shape:指定數(shù)組的形狀;?dtype:數(shù)組元素的數(shù)據(jù)類型,默認值是值float;?order:指數(shù)組元素在計算機內存中的儲存順序,默認順序是“C”,即行優(yōu)先順序。3.2.4創(chuàng)建NumPy二維數(shù)組對象方法6:使用numpy.empty()方法創(chuàng)建未初始化的數(shù)組。代碼如下:array9=np.empty((3,2),dtype=int)array9輸出結果:array([[0,0],[0,0],[0,0]])3.2.5創(chuàng)建NumPy多維數(shù)組對象方法1:使用array函數(shù),通過嵌套的列表list創(chuàng)建數(shù)組對象。方法2:使用隨機方式創(chuàng)建多維數(shù)組。方法3:將一維二維的數(shù)組變形為多維數(shù)組。3.2.6創(chuàng)建NumPy區(qū)間數(shù)組對象1.使用arange函數(shù)指定取值范圍創(chuàng)建數(shù)組對象在NumPy中,可以使用arange()函數(shù)來創(chuàng)建指定取值范圍的數(shù)組對象,語法格式如下:numpy.arange(start,stop,step,dtype)其參數(shù)說明如下:?start:起始值,默認是0。?stop:終止值,注意生成的數(shù)組元素值不包含終止值。?step:步長,默認為1。?dtype:為可選參數(shù),指定ndarray數(shù)組的數(shù)據(jù)類型。根據(jù)start與stop指定的范圍以及step步長值,生成一個ndarray數(shù)組。3.2.6創(chuàng)建NumPy區(qū)間數(shù)組對象2.使用linspace函數(shù)用指定范圍內均勻間隔的數(shù)值創(chuàng)建等差數(shù)組對象linspace函數(shù)用于創(chuàng)建在指定的數(shù)值區(qū)間內返回均勻間隔的一維等差數(shù)組,默認均分50份,語法格式如下:np.linspace(start,stop,num=50,endpoint=True,retstep

溫馨提示

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

評論

0/150

提交評論