版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、大數(shù)據(jù),成就未來(lái)大數(shù)據(jù),成就未來(lái)NumPy 數(shù)值計(jì)算基礎(chǔ)12/1/2021 215:02 數(shù)據(jù)是用于載荷信息的物理符號(hào)。 1.3認(rèn)識(shí)數(shù)據(jù)認(rèn)識(shí)數(shù)據(jù)數(shù)據(jù)的4個(gè)特征: 數(shù)據(jù)有“型”和“值”之分。 數(shù)據(jù)受數(shù)據(jù)類型和取值范圍的約束。 數(shù)據(jù)有定性表示和定量表示之分。 數(shù)據(jù)應(yīng)具有載體和多種表現(xiàn)形式。 315:02數(shù)值型,如:長(zhǎng)度、寬度、評(píng)分 方法:極值和分位點(diǎn)、均值和標(biāo)準(zhǔn)差、變量間相關(guān)性有序型,如:等級(jí)( A,B,C ),空氣質(zhì)量(優(yōu)、良、輕度污染、中度污染、重度污染、嚴(yán)重污染)類別型,如:性別(男、女),手機(jī)品牌(Apple、Vivo、華為) 方法:統(tǒng)計(jì)分布、直方圖等噪聲數(shù)據(jù)(臟數(shù)據(jù)),如:缺失值、重復(fù)值
2、、無(wú)效數(shù)據(jù)等 方法:數(shù)據(jù)清洗,統(tǒng)計(jì)分布等數(shù)據(jù)類型數(shù)據(jù)類型科學(xué)計(jì)算最常用的數(shù)據(jù)類型為:數(shù)值型 415:02NumPy(Numerical Python)是一個(gè)高性能科學(xué)計(jì)算和數(shù)據(jù)分析的基礎(chǔ)包。認(rèn)識(shí)認(rèn)識(shí)NumPyNumPy 快速高效的多維數(shù)組對(duì)象 ndarray(n-dimensional array object)。 對(duì)數(shù)組執(zhí)行元素級(jí)的計(jì)算以及直接對(duì)數(shù)組執(zhí)行數(shù)學(xué)運(yùn)算的函數(shù)(universal function object)。 讀寫硬盤上基于數(shù)組的數(shù)據(jù)集的工具。 線性代數(shù)運(yùn)算、傅里葉變換,以及隨機(jī)數(shù)生成的功能。 將 C、C+、Fortran 代碼集成到 Python 的工具。 515:02為什么
3、使用Numpy?認(rèn)識(shí)認(rèn)識(shí)NumPyNumPy 便捷 對(duì)于同樣的數(shù)值計(jì)算任務(wù),使用NumPy要比直接編寫Python代碼便捷得多。 高效 NumPy的大部分代碼都是用C語(yǔ)言寫成的,這使得NumPy比純Python代碼高效得多。 615:02認(rèn)識(shí)認(rèn)識(shí)NumpyNumpy 715:02認(rèn)識(shí)認(rèn)識(shí)NumpyNumpy 815:02import numpy as np認(rèn)識(shí)認(rèn)識(shí)NumpyNumpyNumPy的引用引入模塊的別名雖然別名可以自己命名,但是強(qiáng)烈建議使用上述約定的別名。 915:021掌握 NumPy 矩陣與通用函數(shù)利用 NumPy 進(jìn)行統(tǒng)計(jì)分析目錄目錄掌握 NumPy 數(shù)組對(duì)象 ndarray2
4、3 1015:02ndarray概述概述ndarray是存儲(chǔ)單一數(shù)據(jù)類型的多維數(shù)組,由兩部分構(gòu)成: 實(shí)際的數(shù)據(jù) 描述這些數(shù)據(jù)的元數(shù)據(jù)(數(shù)據(jù)維度、數(shù)據(jù)類型等)data(數(shù)據(jù)存儲(chǔ)指針)Strides(跨度元組)type(數(shù)據(jù)類型)ndim(數(shù)據(jù)維度)數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)數(shù)據(jù)元數(shù)據(jù)數(shù)據(jù) 1115:02ndim:維數(shù)shape:尺寸dtype:數(shù)據(jù)類型size:元素個(gè)數(shù)Itemsize: 元素大小ndarray數(shù)組屬性數(shù)組屬性數(shù)組屬性查看 1215:02ndim:維數(shù)shape:尺寸dtype:數(shù)據(jù)類型size:元素個(gè)數(shù)Itemsize: 元素大小ndarray數(shù)組屬性數(shù)組屬性數(shù)組屬性查看 1315:02
5、ndarray的數(shù)據(jù)類型的數(shù)據(jù)類型 1415:02ndarray的數(shù)據(jù)類型的數(shù)據(jù)類型 1515:02ndarray的數(shù)據(jù)類型的數(shù)據(jù)類型 1615:02創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組123a = np.array(1,2,3)b = np.array(1,2,3, 4,5,6)1234561. 使用array函數(shù)來(lái)創(chuàng)建數(shù)組創(chuàng)建一維數(shù)組創(chuàng)建二維數(shù)組 1715:02創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組arange:通過(guò)指定開始值、終值和步長(zhǎng)來(lái)創(chuàng)建一維數(shù)組a = np.arange (0,2,0.5)0.0.51.1.5linspace:通過(guò)指定開始值、終值和元素個(gè)數(shù)來(lái)創(chuàng)建一維數(shù)組a = np.linspace
6、 (0, 3, 4)0.1.2.3.2. 使用內(nèi)置函數(shù)創(chuàng)建數(shù)組 1815:02創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組2. 使用內(nèi)置函數(shù)創(chuàng)建數(shù)組 zeros: 創(chuàng)建一個(gè)用指定形狀用0填充的數(shù)組a = np.zeros (2, 3)logspace:構(gòu)建等比數(shù)組a = np.logspace (0,2,3)0101000.0.0.0.0.0. 1915:02創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組 diag: 創(chuàng)建一個(gè)除對(duì)角線全為0的數(shù)組a = np.zeros (1,2, 3)eye:創(chuàng)建一個(gè)主對(duì)角線為1,其它為0的數(shù)組a = np.eye (2,3)1.0.0.0.2.0.0.0.3.1.0.0.0.1.0.2.
7、使用內(nèi)置函數(shù)創(chuàng)建數(shù)組 2015:02創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組ones:創(chuàng)建一個(gè)用指定形狀用1填充的數(shù)組a = np.ones (2,3)1.1.1.1.1.1.2. 使用內(nèi)置函數(shù)創(chuàng)建數(shù)組 2115:02ndarry數(shù)組的創(chuàng)建數(shù)組的創(chuàng)建rand:生成均勻分布的隨機(jī)數(shù)數(shù)組randn:生成一個(gè)符合標(biāo)準(zhǔn)正態(tài)分布的數(shù)組(均值0,方差1)3. 通過(guò)生成隨機(jī)數(shù)的np.random模塊構(gòu)建 2215:02創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組3. 通過(guò)生成隨機(jī)數(shù)的np.random模塊構(gòu)建randint:生成一個(gè)給定上下限范圍的隨機(jī)數(shù)數(shù)組 2315:02函數(shù)函數(shù)說(shuō)明說(shuō)明seed確定隨機(jī)數(shù)生成器的種子。permuta
8、tion返回一個(gè)序列的隨機(jī)排列或返回一個(gè)隨機(jī)排列的范圍。shuffle對(duì)一個(gè)序列進(jìn)行隨機(jī)排序。binomial產(chǎn)生二項(xiàng)分布的隨機(jī)數(shù)。normal產(chǎn)生正態(tài)(高斯)分布的隨機(jī)數(shù)。beta產(chǎn)生beta分布的隨機(jī)數(shù)。chisquare產(chǎn)生卡方分布的隨機(jī)數(shù)。gamma產(chǎn)生gamma分布的隨機(jī)數(shù)。uniform產(chǎn)生在0,1)中均勻分布的隨機(jī)數(shù)。創(chuàng)建創(chuàng)建ndarry數(shù)組數(shù)組random模塊常用隨機(jī)數(shù)生成函數(shù)3. 通過(guò)生成隨機(jī)數(shù)的np.random模塊構(gòu)建 2415:021. 基礎(chǔ)索引 一維數(shù)組的索引與Python的列表索引功能一致 多維數(shù)組的索引:多維數(shù)組每一個(gè)維度有一個(gè)索引,各個(gè)維度之間用逗號(hào)隔開 arr
9、r1:r2, c1:c2 arr1,1 等價(jià) arr11 : 代表某個(gè)維度的數(shù)據(jù)索引與切片索引與切片 2515:02索引與切片索引與切片一維數(shù)組 2615:02索引與切片索引與切片二維數(shù)組 2715:02 2. 整數(shù)序列索引利用整數(shù)數(shù)組進(jìn)行索引索引與切片索引與切片 2815:023. 布爾索引 布爾值多維數(shù)組 arrcondition, condition可以是多個(gè)條件組合 注意,多個(gè)條件組合要使用 & |,而不是and or索引與切片索引與切片XX % 4 = 0X % 4 = 0 2915:02布爾索引索引與切片索引與切片 3015:02 改變數(shù)組形狀變換數(shù)組形態(tài)變換數(shù)組形態(tài) re
10、shape:在不改變數(shù)據(jù)的情況下為數(shù)組賦予新的形狀 resize: 改變自身數(shù)組的形態(tài) 數(shù)組展平 ravel:將多維數(shù)組變一維數(shù)組,橫向展平 flatten:將多維數(shù)組變一維數(shù)組,可以橫向展平,也可以縱向展平 數(shù)組組合 hstack:數(shù)組橫向組合 vstack:數(shù)組縱向組合 concatenate: 實(shí)現(xiàn)數(shù)組的橫向組合和縱向組合 數(shù)組分割hsplit: 對(duì)數(shù)組按列進(jìn)行分割vsplit: 對(duì)數(shù)組按行進(jìn)行分割split: 數(shù)據(jù)分割 3115:02變換數(shù)組形態(tài)變換數(shù)組形態(tài)改變數(shù)組形狀1. reshape(shape, order=C):在不改變數(shù)據(jù)的情況下為數(shù)組賦予新的形狀 3215:02resha
11、pe(shape) 不改變數(shù)組元素,返回一個(gè)shape形狀的數(shù)組,原數(shù)組不變r(jià)esize(shape) 與.reshape()功能一致,但修改原數(shù)組變換數(shù)組形態(tài)變換數(shù)組形態(tài)改變數(shù)組形狀2. resize(shape): 改變自身數(shù)組的形態(tài) 3315:02變換數(shù)組形態(tài)變換數(shù)組形態(tài)數(shù)組展平 numpy中的ravel()、flatten() 都有將多維數(shù)組轉(zhuǎn)換為一維數(shù)組的功能。 reshape(-1)也可以“拉平”多維數(shù)組 3415:02數(shù)組展平 當(dāng)指定order=F表示縱向展開 ravel():如果沒(méi)有必要,不會(huì)產(chǎn)生源數(shù)據(jù)的副本 flatten():返回源數(shù)據(jù)的副本 變換數(shù)組形態(tài)變換數(shù)組形態(tài) 35
12、15:02數(shù)組組合1. hstack:數(shù)組橫向組合 該函數(shù)相當(dāng)于沿第一個(gè)軸連接(axis=1),除了一維數(shù)組的組合可以是不同長(zhǎng)度外,其它數(shù)組組合時(shí),除了第二個(gè)軸的長(zhǎng)度可以不同外,其它軸的長(zhǎng)度必須相同。變換數(shù)組形態(tài)變換數(shù)組形態(tài) 3615:02數(shù)組組合1. hstack:數(shù)組橫向組合 該函數(shù)相當(dāng)于沿第二個(gè)軸連接(axis=1),除了一維數(shù)組的組合可以是不同長(zhǎng)度外,其它數(shù)組組合時(shí),除了第二個(gè)軸的長(zhǎng)度可以不同外,其它軸的長(zhǎng)度必須相同。變換數(shù)組形態(tài)變換數(shù)組形態(tài) 3715:02數(shù)組組合2. vstack:數(shù)組縱向組合 該函數(shù)相當(dāng)于沿第一個(gè)軸連接(axis=0),除了一維數(shù)組的組合可以是不同長(zhǎng)度外,其它數(shù)組
13、組合時(shí),除了第二個(gè)軸的長(zhǎng)度可以不同外,其它軸的長(zhǎng)度必須相同。變換數(shù)組形態(tài)變換數(shù)組形態(tài) 3815:02數(shù)組組合3. concatenate(tup),axis) 實(shí)現(xiàn)數(shù)組的橫向組合和縱向組合 axis = 1 時(shí),等同于 np.hstack axis = 0 時(shí),等用于 np.vstack 變換數(shù)組形態(tài)變換數(shù)組形態(tài) 3915:02數(shù)組分割1. hsplit將數(shù)組橫向分割成大小相同的子數(shù)組2. vsplit將數(shù)組縱向分割成大小相同的子數(shù)組變換數(shù)組形態(tài)變換數(shù)組形態(tài) 4015:02數(shù)組形狀處理數(shù)組形狀處理 4115:022掌握 NumPy 數(shù)組對(duì)象 ndarray利用 NumPy 進(jìn)行統(tǒng)計(jì)分析目錄目錄
14、掌握 NumPy 矩陣與通用函數(shù)13 4215:02使用mat函數(shù)創(chuàng)建矩陣: matr1 = np.mat(1 2 3;4 5 6;7 8 9)使用matrix函數(shù)創(chuàng)建矩陣:matr2 = np.matrix(123,456,789)使用bmat函數(shù)合成矩陣:np.bmat(arr1 arr2; arr1 arr2)創(chuàng)建創(chuàng)建NumPy矩陣矩陣創(chuàng)建與組合矩陣 4315:02矩陣與數(shù)相乘:matr1*3矩陣相加減:matr1matr2矩陣相乘:matr1*matr2矩陣對(duì)應(yīng)元素相乘:np.multiply(matr1,matr2)矩陣特有屬性:創(chuàng)建創(chuàng)建NumPy矩陣矩陣矩陣的運(yùn)算屬性屬性說(shuō)明說(shuō)明T
15、返回自身的轉(zhuǎn)置H返回自身的共軛轉(zhuǎn)置I返回自身的逆矩陣A返回自身數(shù)據(jù)的2維數(shù)組的一個(gè)視圖 4415:02四則運(yùn)算:加(+)、減(-)、乘(*)、除(/)、冪(*)。數(shù)組間的四則運(yùn)算表示對(duì)每個(gè)數(shù)組中的元素分別進(jìn)行四則運(yùn)算,所以形狀必須相同。比較運(yùn)算:、=、=、!=。比較運(yùn)算返回的結(jié)果是一個(gè)布爾數(shù)組,每個(gè)元素為每個(gè)數(shù)組對(duì)應(yīng)元素的比較結(jié)果。邏輯運(yùn)算:np.any函數(shù)表示邏輯“or”,np.all函數(shù)表示邏輯“and”。運(yùn)算結(jié)果返回布爾值。認(rèn)識(shí)認(rèn)識(shí)ufunc函數(shù)函數(shù)全稱通用函數(shù)(universal function object ),是一種能夠?qū)?shù)組中所有元素進(jìn)行操作的函數(shù)。 4515:02認(rèn)識(shí)認(rèn)識(shí)uf
16、unc函數(shù)函數(shù)四則運(yùn)算四則運(yùn)算 4615:02常用的通用函數(shù) ceil(), 向上最接近的整數(shù) floor(), 向下最接近的整數(shù) rint(), 四舍五入 isnan(), 判斷元素是否為 NaN(Not a Number) multiply(),元素相乘,等同于數(shù)組的 * 操作(注意,不是矩陣的乘法操作) divide(), 元素相除,等同于數(shù)組的 / 操作 認(rèn)識(shí)認(rèn)識(shí)ufunc函數(shù)函數(shù)元素級(jí)運(yùn)算 4715:02認(rèn)識(shí)認(rèn)識(shí)ufunc函數(shù)函數(shù)比較運(yùn)算:對(duì)兩個(gè)形狀相同的numpy數(shù)組進(jìn)行大于比較得到的結(jié)果是一個(gè)與數(shù)組的形狀相同的numpy數(shù)組,數(shù)組中元素的數(shù)據(jù)類型為布爾類型 4815:02認(rèn)識(shí)認(rèn)識(shí)
17、ufunc函數(shù)函數(shù)邏輯運(yùn)算 4915:02廣播(broadcasting)是指不同形狀的數(shù)組之間執(zhí)行算術(shù)運(yùn)算的方式。需要遵循4個(gè)原則。 讓所有輸入數(shù)組都向其中shape最長(zhǎng)的數(shù)組看齊,shape中不足的部分都通過(guò)在前面加1補(bǔ)齊。 輸出數(shù)組的shape是輸入數(shù)組shape的各個(gè)軸上的最大值。 如果輸入數(shù)組的某個(gè)軸和輸出數(shù)組的對(duì)應(yīng)軸的長(zhǎng)度相同或者其長(zhǎng)度為1時(shí),這個(gè)數(shù)組能夠用來(lái)計(jì)算,否則出錯(cuò)。 當(dāng)輸入數(shù)組的某個(gè)軸的長(zhǎng)度為1時(shí),沿著此軸運(yùn)算時(shí)都用此軸上的第一組值。認(rèn)識(shí)認(rèn)識(shí)ufunc函數(shù)函數(shù)廣播機(jī)制 5015:02廣播機(jī)制向量化向量化一維數(shù)組的廣播機(jī)制二維數(shù)組的廣播機(jī)制基于numpy,將num_arr
18、= np.array(1,3,5,6,8)轉(zhuǎn)化為2,6,10,12,16num_arr*2 for i in range(len(num_arr): num_arri=num_arri*2num_arr+num_arrnum_arr+2BD多選題AC CA 5215:023掌握 NumPy 數(shù)組對(duì)象 ndarray掌握 NumPy 矩陣與通用函數(shù)目錄目錄利用 NumPy 進(jìn)行統(tǒng)計(jì)分析12 53 NumPy文件讀寫主要有二進(jìn)制的文件讀寫和文件列表形式的數(shù)據(jù)讀寫兩種形式讀寫文件讀寫文件 讀取/保存二進(jìn)制格式文件 save 函數(shù)是以二進(jìn)制的格式保存數(shù)據(jù)。 格式: np.save (“./save_a
19、rr ”, arr1) load 函數(shù)是從二進(jìn)制的文件中讀取數(shù)據(jù)。 格式: np.load(./ save_arr.npy) savez 函數(shù)可以將多個(gè)數(shù)組保存到一個(gè)文件中。 格式: np.savez(./savez_arr,arr1,arr2) 讀取/保存文本格式(TXT CSV 格式)文件 savetxt 函數(shù)是將數(shù)組寫到某種分隔符隔開的文本文件中。 格式: np.savetxt(./arr.txt, arr, fmt=%d, delimiter=,) loadtxt 函數(shù)執(zhí)行的是把文件加載到一個(gè)二維數(shù)組中。 格式: np.loadtxt(./arr.txt,delimiter=,) genfromtxt 函數(shù)面向的是結(jié)構(gòu)化數(shù)組和缺失數(shù)據(jù)。 格式: np.genfromtxt(./arr2.txt, delimiter = ,) 54sort函數(shù)是最常用的排序方法。 arr.sort()sort函數(shù)也可以指定一個(gè)axis參數(shù),使得sort函數(shù)可以沿著指定軸對(duì)數(shù)據(jù)集進(jìn)行排序。axis=1為沿橫軸排序; axis=0為沿縱軸排序。使用數(shù)組進(jìn)行簡(jiǎn)單統(tǒng)計(jì)分析使用數(shù)組進(jìn)行簡(jiǎn)單統(tǒng)計(jì)分析直接排序argsort函數(shù)返回值為重新排序值的下標(biāo)。 arr.argsort()lexsort函數(shù)返回值是按照最后一個(gè)傳入數(shù)據(jù)排序的。 np.lexsort(a,b,c)間接排
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 木材加工中的風(fēng)險(xiǎn)管理與保險(xiǎn)策略實(shí)施研究案例考核試卷
- 智能洗面奶器市場(chǎng)調(diào)研報(bào)告考核試卷
- 創(chuàng)業(yè)空間的共享出行考核試卷
- 企業(yè)全員培訓(xùn)崗位工操作安全職責(zé)考核試卷
- 危險(xiǎn)源辨識(shí)與風(fēng)險(xiǎn)評(píng)估課程考核試卷
- 城市公共藝術(shù)設(shè)計(jì)民建施工合同
- 印刷機(jī)械租賃協(xié)議模板
- 旱冰場(chǎng)照明電照施工合同
- 植樹造林合同模板
- 乳品檢驗(yàn)聘用合同格式
- 幾種離子交換裝置
- 交接班制度(PPT31頁(yè))
- 真想變成大大的荷葉(詳案)
- db11 7912011 文物建筑消防設(shè)施設(shè)置規(guī)范
- 《unit 2 you shouldnt be late.》課件小學(xué)英語(yǔ)外研社版一年級(jí)起點(diǎn)五年級(jí)上冊(cè) (2014年6月第1版)
- 干細(xì)胞和腫瘤干細(xì)胞(20101210)
- 原生家庭與個(gè)人成長(zhǎng)(課堂PPT)
- 一年級(jí)數(shù)學(xué)口算湊十法
- 上交叉與下交叉綜合征(課堂PPT)
- 銅仁市房地產(chǎn)市場(chǎng)調(diào)查分析報(bào)告專業(yè)課件
- 中南大學(xué)湘雅醫(yī)院亞專科管理辦法(試行)
評(píng)論
0/150
提交評(píng)論