版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、多維數(shù)據(jù)結(jié)構(gòu)與運算多維數(shù)據(jù)計算數(shù)據(jù)分析的數(shù)據(jù)組織方式向量、矩陣高效計算NumPy庫提供了多維數(shù)組ndarray支持豐富數(shù)據(jù)表示方式Anaconda環(huán)境中已安裝 import numpy as npndarray: NumPy核心N-dimensional array, N維數(shù)組相同數(shù)據(jù)類型的元素組成的多維數(shù)組數(shù)組大小需事先指定案例2-1:學(xué)生課程考試成績5位同學(xué)參加了學(xué)業(yè)水平考試,考試科目共7門姓名MathEnglishPythonChineseArtDatabasePhysics王微70857790828489肖良英60648075809290方綺雯90938887869091劉旭陽8082
2、9188838680錢易銘887278909173802.1.1 一維數(shù)組對象創(chuàng)建一維數(shù)組分別保存學(xué)生姓名和考試科目,訪問數(shù)組元素np.array( ),基于列表創(chuàng)建一維數(shù)組 names = np.array(王微, 肖良英, 方綺雯, 劉旭陽,錢易銘) namesarray(王微, 肖良英, 方綺雯, 劉旭陽,錢易銘, dtype= subjects = np.array(Math, English, Python, Chinese,Art, Database, Physics) subjectsarray(Math, English, Python, Chinese, Art, Datab
3、ase, Physics, dtype= names.ndim #數(shù)組維度1 names.size #數(shù)組元素個數(shù)5 names.dtype #數(shù)組數(shù)據(jù)類型dtype( names2方綺雯 subjects-3Art namesarray(王微, 肖良英, 方綺雯, 劉旭陽,錢易銘, dtype= subjectsarray(Math, English, Python, Chinese, Art, Database, Physics, dtype= namesarray(王微, 肖良英, 方綺雯, 劉旭陽,錢易銘, dtype= subjectsarray(Math, English, Pyt
4、hon, Chinese, Art, Database, Physics, dtype= subjects 0,2,4 #兩層括號,0,2,4為索引列表array(Math, Python, Art, dtype= names 1:4 #抽取索引為1、2、3的元素array(肖良英 方綺雯 劉旭陽, dtype= subjects : -1:2 #抽取索引為0、2、4的元素array(Math, Python, Art, dtype= names (names = 王微) | (names= 錢易銘) array(王微, 錢易銘, dtype= mask = (names = 王微) | (n
5、ames= 錢易銘) maskarray( True, False, False, False,True , dtype=bool) names mask array(王微 錢易銘, dtype= scores= np.array(70,85,77,90,82,84,89,60,64,80,75,80,92,90, 90,93,88,87,86,90,91,80,82,91,88,83,86,80,88,72,78,90,91,73,80) scoresarray(70, 85, 77, 90, 82, 84, 89, 60, 64, 80, 75, 80, 92, 90, 90, 93, 8
6、8, 87, 86, 90, 91, 80, 82, 91, 88, 83, 86, 80, 88, 72, 78, 90, 91, 73, 80)一行數(shù)據(jù)訪問二維數(shù)組元素數(shù)組特性 scores.ndim #數(shù)組維數(shù)2 scores.size #數(shù)組元素總數(shù),行列35 scores.shape #數(shù)組的行數(shù)和列數(shù)(5, 7) scores.dtype #數(shù)組元素的類型dtype(int32)二維數(shù)組切片操作的基本格式:arr row , column row行序號,column列序號,中間用,隔開行、列切片的表示方式與一維數(shù)組相同用“:”代替行或列,表示選中對應(yīng)的所有行或列二維數(shù)組切片訪問指定
7、行、列的元素,給出行和列兩個索引值 scores1,060 scores1,3,0,1array(60, 82) scores1,3array(60, 64, 80, 75, 80, 92, 90, 80, 82, 91, 88, 83, 86, 80)取某行所有列值,可以省略列 :抽取scores1,0,scores3,1 scores: , 0,1array(70, 85, 60, 64, 90, 93, 80, 82, 88, 72)抽取部分列,行不能省略 scores 0,3, 1:4 array(85, 77, 90 82, 91, 88,) scores1,3:,0,1array(
8、60, 64, 80, 82)抽取1、3行中0、1列數(shù)據(jù),兩層切片條件篩選使用布爾型數(shù)組篩選訪問其他數(shù)組的元素 scores(names = 肖良英) | (names = 方綺雯), :array(60, 64, 80, 75, 80, 92, 90, 90, 93, 88, 87, 86, 90, 91)行篩選,names的長度 和 scores的行數(shù)一致 scores(names = 肖良英) | (names = 方綺雯):,(subjects = Math) | (subjects = Python)array(60, 80, 90, 88)選擇“肖良英”和“方綺雯”的“Math”和
9、“Python”課程成績,可以使用兩層篩選實現(xiàn)第一層篩選后的所有行,2行思考與練習(xí)1. 一維數(shù)組訪問。在subjects數(shù)組中選擇并顯示序號1、2、4門課的名稱,使用負值序號選擇并顯示names數(shù)組中 方綺雯。選擇并顯示names數(shù)組從2到最后的數(shù)組元素;選擇并顯示subjects數(shù)組2到4的數(shù)組元素。使用布爾條件選擇并顯示subjects數(shù)組中的英語和物理科目名稱。2. 二維數(shù)組訪問。選擇并顯示scores數(shù)組的1、4行。選擇并顯示scores數(shù)組中行號2、4同學(xué)的數(shù)學(xué)和Python成績。選擇并顯示scores數(shù)組中所有同學(xué)的數(shù)學(xué)和藝術(shù)課程成績。選擇并顯示scores數(shù)組中“王微”和“劉旭陽
10、”的英語和藝術(shù)課程成績。3. 生成由整數(shù)1019組成的25的二維數(shù)組。創(chuàng)建多維數(shù)組的常用方法arange()np.arange(0,11)array( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)np.arange(3,11,2)array(3, 5, 7, 9)np.arange(0.3,1.5,0.3)array( 0.3, 0.6, 0.9, 1.2)reshape()將一維數(shù)組轉(zhuǎn)換為指定的多維數(shù)組arange可以生成浮點數(shù)列 np.arange(0,15).reshape(3,5)array( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1
11、1, 12, 13, 14)zeros()、 ones() np.zeros(3,4)array( 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.) np.ones(4,3)array( 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.)2.2 多維數(shù)組運算基本算數(shù)運算函數(shù)運算二維數(shù)組與標量運算為所有同學(xué)的所有課程成績增加5分。 scores + 5array(75, 90, 82, 95, 87, 89, 94, 65, 69, 85, 80, 85, 97, 95, 95, 98, 93, 92, 9
12、1, 95, 96, 85, 87, 96, 93, 88, 91, 85, 93, 77, 83, 95, 96, 78, 85)等價于 a = np.ones(5,7)*5 aarray( 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5.) scores + aarray( 75., 90., 82., 95., 87., 89., 94., 65., 69., 8
13、5., 80., 85., 97., 95., 95., 98., 93., 92., 91., 95., 96., 85., 87., 96., 93., 88., 91., 85., 93., 77., 83., 95., 96., 78., 85.)二維數(shù)組與一維數(shù)組運算每個科目基礎(chǔ)分不同,為各科目增加相應(yīng)的基礎(chǔ)分。 bonus = np.array(3,4,5,3,6,7,2) scores + bonusarray(73, 89, 82, 93, 88, 91, 91, 63, 68, 85, 78, 86, 99, 92, 93, 97, 93, 90, 92, 97, 93, 8
14、3, 86, 96, 91, 89, 93, 82, 91, 76, 83, 93, 97, 80, 82)修改選定數(shù)據(jù) scoresnames = 肖良英, subjects = English array(64) scoresnames = 肖良英, subjects = English + 5array(69)課后作業(yè)“大潤發(fā)”、“沃爾瑪”、“聯(lián)華”和“農(nóng)工商”四個超市都賣蘋果、香蕉、桔子、獼猴桃和芒果5種水果。使用NumPy的ndarray實現(xiàn)以下功能。創(chuàng)建2個一維數(shù)組分別存儲超市名稱和水果名稱;創(chuàng)建1個45的二維數(shù)組存儲不同超市的水果價格,其中價格由4到10范圍內(nèi)的隨機數(shù)生成;選擇“
15、大潤發(fā)”的蘋果和“聯(lián)華”的香蕉,并將價格增加1元; “農(nóng)工商”水果大減價,所有水果價格減少2元;統(tǒng)計四個超市蘋果和芒果的銷售均價;找出桔子價格最貴的超市名稱(不是序號)。打包提交名為:“學(xué)號-姓名-Data-1.zip”多維數(shù)組運算-通用函數(shù)一元,1個輸入數(shù)組,返回1個數(shù)組函數(shù)描述abs、fabs計算整數(shù)、浮點數(shù)或復(fù)數(shù)的絕對值sqrt計算各元素的平方根square計算各元素的平方exp計算各元素的指數(shù)log、log10自然對數(shù)、底數(shù)為10的logsign計算各元素的正負號ceil計算各元素的ceiling值,即大于等于該值的最小整數(shù)floor計算各元素的floor值,即小于等于該值的最大整數(shù)c
16、os、cosh、sin sinh、tan、tanh普通和雙曲型三角函數(shù)通用函數(shù)-二元2個輸入數(shù)組,返回1個數(shù)組函數(shù)描述add將數(shù)據(jù)中對應(yīng)的元素相加subtract從第一個數(shù)組中減去第二個數(shù)組中的元素multiply數(shù)組元素相乘divide數(shù)組對應(yīng)元素相除power對第一個數(shù)組中的元素A,根據(jù)第二個數(shù)組中的相應(yīng)元素B,計算ABmod元素級的求模運算copysign將第二個數(shù)組中的值的符號復(fù)制給第一個數(shù)組中的值equal,not_equal執(zhí)行元素級的比較運算,產(chǎn)生布爾型數(shù)組通用函數(shù)-實例將同學(xué)的考試成績轉(zhuǎn)換成整數(shù)形式的十分制分數(shù)為每個同學(xué)的分數(shù)減去3分 np.floor(scores/10)ar
17、ray( 7., 8., 7., 9., 8., 8., 8., 6., 6., 8., 7., 8., 9., 9., 9., 9., 8., 8., 8., 9., 9., 8., 8., 9., 8., 8., 8., 8., 8., 7., 7., 9., 9., 7., 8.) np.subtract(scores, 3)array(67, 82, 74, 87, 79, 81, 86, 57, 61, 77, 72, 77, 89, 87, 87, 90, 85, 84, 83, 87, 88, 77, 79, 88, 85, 80, 83, 77, 85, 69, 75, 87,
18、 88, 70, 77)聚合函數(shù)支持在行、列或者全體數(shù)組元素上的聚集函數(shù)函數(shù)描述sum求和mean算術(shù)平均值min、max最大值和最小值argmin、argmax最大值和最小值的索引cumsum從0開始向前累加各元素cumprod從1開始向前累乘各元素統(tǒng)計不同科目的成績總分 scores.sum(axis = 0) #按列求和array(388, 396, 414, 430, 422, 425, 430)求“王微”所有課程成績的平均分查詢英語考試成績最高同學(xué)的姓名 scoresnames = 王微.mean()82.428571428571431 namesscores:,subjects =
19、 English.argmax()方綺雯隨機數(shù)組生成函數(shù)np.random模塊函數(shù)描述random隨機產(chǎn)生0,1)之間的浮點值randint隨機生成給定范圍內(nèi)的一組整數(shù)uniform隨機生成給定范圍內(nèi)服從均勻分布的一組浮點數(shù)choice在給定的序列內(nèi)隨機選擇元素normal隨機生成一組服從給定均值和方差的正態(tài)分布隨機數(shù)隨機數(shù)組生成函數(shù)-實例模塊生成由10個隨機整數(shù)組成的一維數(shù)組,整數(shù)的取值范圍從0到5randint(start, end, size) np.random.randint(0,6,10)array(5, 5, 0, 2, 4, 3, 1, 2, 5, 4)生成服從均值為0、方差為
20、1的服從正態(tài)分布的45二維數(shù)組 np.random.normal( 0,1, size = (4,5) )array( 0.50293855, -0.65924346, 1.10370417, 0.97295644, -0.94182097, -0.10743896, -0.62138498, -0.70710979, -0.31265519, -0.10357636, 1.32282187, 0.91143092, -1.1728774 , 0.51703585, -1.38091545, -2.02050138, -0.936194 , 1.47082363, 1.73261098, -0
21、.42447148)思考與練習(xí)1. 將scores數(shù)組中所有同學(xué)的英語成績減去3分并顯示。2. 統(tǒng)計scores數(shù)組中每名同學(xué)所有科目的平均分并顯示。3. 使用隨機函數(shù)生成-1,1之間服從均勻分布的34二維數(shù)組,并計算所有元素的和。案例:隨機游走軌跡模擬隨機游走(Random Walk)又稱隨機游動或隨機漫步花粉的布朗運動、證券的漲跌結(jié)合NumPy的隨機數(shù)生成函數(shù)與ndarray實現(xiàn)初始位置:(0, 0)每一步隨機地沿著x軸方向左移或右移一個單位,同時沿著y軸方向左移或右移一個單位左移或者右移的概率是相等的1. 模擬每步游走方向創(chuàng)建一個2n的二維數(shù)組2行分別表示x、y軸上的運動n為移動總步數(shù),
22、每列記錄一步數(shù)組元素取值為-1或1假設(shè)某次隨機游走走了10步用randint函數(shù)隨機生成每步走的方向 steps = 10 rndwlk = np.random.randint(0, 2, size = (2,steps) rndwlkarray( 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0 )每次生成的方向不一樣隨機整數(shù)生成在-1,0,1之間有3個整數(shù),如何跳掉0? rndwlk = np.where( rndwlk0, 1, -1 ) rndwlkarray(-1, 1, 1, 1, 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, -1, -1, 1, -1)生成01之間的整數(shù)隨機數(shù),然后將0轉(zhuǎn)換為-12. 計算每步游走后的位置第n步的位置為前n-1步位置+第n步累加和函數(shù)cumsum(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版民間借貸居間合同模板(全新編制)6篇
- 2025年度牛糞生態(tài)農(nóng)業(yè)合作合同范本4篇
- 2025年度工業(yè)廠房鋼管架施工與維護合同范本
- 2025年度土地租賃擔(dān)保與交通樞紐用地合同
- 2025年閑置高性能注塑機轉(zhuǎn)讓及操作培訓(xùn)合同3篇
- 二零二五年度企業(yè)文化活動策劃與執(zhí)行合同2篇
- 2025年度拌合料生產(chǎn)環(huán)境監(jiān)測與改善合同4篇
- 二零二五年度建材產(chǎn)品銷售居間代理合同范本3篇
- 2025年度苗木種植與農(nóng)產(chǎn)品溯源合同4篇
- 二零二五年度停車場停車費用結(jié)算與代收代付合同
- DB32-T 4444-2023 單位消防安全管理規(guī)范
- 臨床三基考試題庫(附答案)
- 合同簽訂執(zhí)行風(fēng)險管控培訓(xùn)
- DB43-T 3022-2024黃柏栽培技術(shù)規(guī)程
- 九宮數(shù)獨200題(附答案全)
- 人員密集場所消防安全管理培訓(xùn)
- 《聚焦客戶創(chuàng)造價值》課件
- PTW-UNIDOS-E-放射劑量儀中文說明書
- JCT587-2012 玻璃纖維纏繞增強熱固性樹脂耐腐蝕立式貯罐
- 典范英語2b課文電子書
- 員工信息登記表(標準版)
評論
0/150
提交評論