這次教程是對python的numpy這個包做乙個介紹
numpy是python用於分析資料,處理矩陣的乙個非常實用的包,下面我將會在jupyter notebook上,一步一步實現numpy這個包的各種用法,並配上說明。
這一節我們要學習的是,生成矩陣。
import numpy as np
import pandas as pd
a=np.random.random([3,3])
a
首先匯入之前安裝好的包numpy和pandas
按照上圖方法,可以建立乙個3行3列的矩陣,矩陣元素隨機分布在0到1之間
array([[0.73171217, 0.43880544, 0.21583348],
[0.46026688, 0.7176575 , 0.33961139],
[0.76468958, 0.08658304, 0.70468339]])
我們可以利用tuple來生成乙個array
#利用tuple來建立乙個array
#dtype的意思是,將傳入的tuple轉化成array形式,並且型別為int型別,也就是整數型
t=(1,2,3)
a=np.array(t,dtype='int')
a
生成結果為
array([1, 2, 3])
還可以利用list來生成乙個array
list1=[1,2,3]
a=np.array(list1,dtype='int')
a
結果為
array([1, 2, 3])
剛才生成了list1,我們來生成乙個list2,並把兩個合併一下看看
list2=[3.1,4.6,7.4]
b=np.array([list1,list2])
b#合併之後的list1變成了1. 2. 3.,從int型自動變成了float型
結果為
array([[1. , 2. , 3. ],
[3.1, 4.6, 7.4]])
當然矩陣裡面的元素還可以設定成虛數
#將dtype寫成complex可以將輸入的array變成虛數
c=np.array([[1,2],[3,4]],dtype=complex)
c
結果為array([[1.+0.j, 2.+0.j],
[3.+0.j, 4.+0.j]])
我們還可以檢視numpy生成的array的結構,利用shape這個函式。
c.shape
結果為乙個兩行兩列的array
(2, 2)
通過numpy還可以直接生成元素全部為0或者元素全部為1的矩陣。
np.zeros([2,2])
array([[0., 0.],
[0., 0.]])
np.ones([2,3])
array([[1., 1., 1.],
[1., 1., 1.]])
不過如果嘗試生成元素全部為2或者其他數字的矩陣,則會報錯了~
繼續~我們來生成對角線為1的矩陣
#斜角為1的矩陣
np.eye(4)
結果為
array([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
生成元素間隔為某一常數的矩陣(這個例子裡,元素從2開始,到12結尾,間隔設定為2,但是輸出不包括12)
#從2開始到12為止(不包括12),每隔2個數出現
np.arange(2,12,2)
結果為
array([ 2, 4, 6, 8, 10])
同理可以生成元素可以被等分的矩陣,利用linspace函式,將從0到10的元素等分為3份
#linspace(a,b,c)代表,從a到b,按照c進行等分
np.linspace(0,10,3)
結果為
array([ 0., 5., 10.])
再試一次,將從0到10的元素等分為5份
np.linspace(0,10,5)
結果為
array([ 0. , 2.5, 5. , 7.5, 10. ])
對於矩陣的生成方法基本介紹完了,下一節將會介紹,如果對numpy生成的array進行計算~
謝謝
numpy基礎操作
猴急先導入包 import numpy as npvct row np.array 1 2,3 行向量 vct col np.array 4 5 6 列向量matrix np.array 1,2,3 4,5,6 7,8,9 mtx np.mat 1,2,3 4,5,6 7,8,9 from scip...
筆記 NumPy基礎操作
學機器學習做點小筆記,都是python的numpy庫的基本小操作,圖書館借的書看到的,怕自己還了書後忘了,就記下來。一般習慣匯入numpy時使用import numpy as np,不要直接import,會有命名空間衝突。比如numpy的array和python自帶的array。numpy下有兩個可...
numpy 介紹和基礎使用詳解
numpy 提供了乙個在python中做科學計算的基礎庫,重在數值計算,主要用於處理多維陣列,用於儲存和處理大型矩陣,本身是由c語言開發,比python自身的列表結構要高效的多。高效能科學計算和資料分析的基礎包,總結 形狀 ndarray.shape 重新改變陣列形狀 ndarray.reshape...