numpy(numerical python)是python的一種開源的數值計算擴充套件。這種工具可用來儲存和處理大型矩陣,比python自身的巢狀列表(nested list structure)結構要高效的多(該結構也可以用來表示矩陣(matrix)),支援大量的維度陣列與矩陣運算,此外也針對陣列運算提供大量的數學函式庫。
首先在檔案開頭要匯入模組
1.建立矩陣:
輸出結果為
2.矩陣型別
上圖為建立矩陣,並設定為64位的整型
上圖為輸出結果。
上圖中,b=np.zeros((3,4))為建立乙個shape為三行四列的乙個零矩陣。c=np.ones((3,4),dtype=np.int16),意思為建立乙個三行四列的乙個全1矩陣,並且為16位的整型。
d=np.arange(12).reshape((3,4))是生成乙個0-12的乙個序列,並reshape成三行四列的乙個矩陣。
e=np.linspace(1,10,5) 是生成乙個線段,1為開始,10為結束,總共分5段的一行序列。
f=np.linspace(1,20,12).reshape((3,4))是生成乙個線段,1為開始,20為結束,總共分12段的乙個三行四列的乙個矩陣。
上圖為輸出結果。
3.矩陣的運算
上圖中,分別先建立g、h兩個矩陣,第乙個print(g<35)是判斷g矩陣中哪些元素大於35,print(h==3)是判斷h矩陣哪些元素等於3。i矩陣是g-h,是將g矩陣的每乙個元素與h矩陣的每乙個元素按位相減,最終得到i矩陣。j矩陣是將g矩陣中的每乙個元素進行sin函式求值再乘10後形成的矩陣。
上圖為輸出結果。
上圖中,進行了矩陣的乘法,首先建立兩個矩陣k、l,m矩陣是k矩陣中的每乙個元素與l矩陣中的每乙個元素按位相乘所得到的矩陣,不是矩陣的乘法。而np.dot(k,l)或者k.dot(l)才是矩陣中的乘法。
上圖為輸出結果。
上圖為矩陣的基本運算,求矩陣中的最大、最小元素,求所有元素之和,求所有行或者所有列的元素之和
4.矩陣索引
首先建立三行四列的a矩陣,argmax是索引出a矩陣中元素最大值的位置,argmin是索引出a矩陣中元素最小值的位置。mean是求a中所有元素的平均值,median是求出a元素的中位數,cumsum是累加,第乙個元素為a的第乙個元素,第二個元素時第二個元素為a中第乙個和第二個之和,第三個元素為第一二三元素之和,以此類推。diff是累差,第乙個元素為a中第二個與第乙個之差,第二個元素為a中第三個與第二個之差,以此類推
上圖為輸出結果。
建立b矩陣,sort是將b矩陣每一行進行排序,transpose是將b矩陣進行轉置。clip(b,5,9)是將b的元素中小於5的按5輸出,大於9的按9輸出,5-9之間不變。
建立c矩陣,c[0]是索引c矩陣中第乙個元素, c[1][3]是索引c矩陣中第二行第四個元素。flatten是將每個元素分成單獨的元素。
上圖為輸出結果
5.矩陣合併與拆分
建立a、b、c三個元素a、b是先建立一行列表,通過[:,newaxis]變成列元素,二者通過vstack合併成為c,vstack是將兩個元素上下合併。hstack是左右合併。
上圖為建立a元素,將a元素進行切分。axis=1進行行操作,分成等分的兩個矩陣。
學習第一天
知識是學會的,不是教會的 程式設計 驗證性或體驗性 創造性 學程式設計的4個階段 1.能看懂別人的 除錯別人的 2.能修改別人的 3.能拷貝別人的 做自己的事 4.能自己設計編寫 方法 多讀 做記錄 執行 修改 執行 練習,光說不練假把式 刷oj總結 寫部落格或許是個不錯的選擇 學生和已經工作的程式...
大資料學習第一天
一.大資料本質 1 資料的儲存 分布式檔案系統 hdfs hadoop distributed file system 2 資料的計算 分布式計算 二.解決大資料儲存 分布式檔案系統 hdfs 於gfs 搭配hdfs,至少3臺機器全分布 三.hadoop出現的前提環境 概念的出現 1.分布式檔案系統...
php學習第一天
第一章 安裝 php語言的核心特性是強大的字串和資料處理工具,還提供物件導向的支援。可以用c寫自己的php擴充套件模組。php能做什麼?伺服器指令碼,命令列指令碼,客戶端gui應用,安裝php環境 www.php.net,www.apache.org 2解壓後放在同一目錄下 3對apache和php...