ndarray 多維數組
創建ndarray數組有這些函數:array,zeros,ones,empty,arange,linspace,logspce,random
array——創建列表
array可以創建指定維數的列表,也可以使用dtype指定數據的類型,實現代碼塊如下:
a = np.array([[2,3,4],[5,6,7]],dtype=float) print(a) print(a.dtype)
其結果如圖所示:
zeros——創建全零數組
使用zeros可以創建多維的全零數組,當參數只有一個時,建立一維的,當參數有兩個時建立的是二維的,當參數是三個時建立三維的全零數組:
b = np.zeros(4)#默認創建一維 print(b) b1 = np.zeros((3,4))#創建3行4列的數組 兩維的 print(b1) b2 = np.zeros((3,4,2))#創建一個三維的數組 print(b2)
代碼結果如圖:
ones——創建全1的數組
ones用法與zeros相似,只是使用ones創建的數組中元素都是1
c = np.ones((2,3)) print(c)
運行結果如下:
empty——創建空矩陣
使用empty創建一個空矩陣,但是創建的矩陣中的數字是隨機生成的,可以指定數組的維度
d = np.empty((3,3))#創建一個指定維度的數組,生成的數組中的數字是隨機的 print(d)
結果如下:
arange——類似range
指定范圍以及步長
print(np.arange(1,10,2)) print(np.array(range(1,10,2)))
這兩行代碼是一個意思
結果如圖:
linspace——等差數列
linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None,axis=0)
通過此函數定義可以看出我們需要指定等差數列開頭和結尾,還有在這個范圍內要取的數據個數
例如:
e = np.linspace(1,10,5)#等差數列 最后一個表示多少個數字,不是步長 print(e)
結果如圖
logspace——等比數列
logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None,axis=0)
使用logspace創建等比數列,默認以10為底,可以自行指定底數,設置的參數start,stop都是base的指數,再設置個數,意思就是等比數列范圍為basestart到basestop,在這個范圍的num個數成等比數列。例如:
f = np.logspace(0,4,3,base=2)#等比數列 #這句話的意思是在2的0次方到2的4次方之間,等比例出現的三個數字 print(f)
結果如圖:
random——生成隨機數
當使用random.random可以生成指定維數的隨機數,但是數據范圍為[0,1)
g = np.random.random((2,3,4)) print(g)
使用random.randint可以設置生成的隨機數范圍
g1 = np.random.randint(10,50,(2,3,4)) print(g1) print('屬性:',g.dtype , g.shape , g.size ,g.ndim)#dtype是g的數據類型,shape是g的形狀,size是g的元素個數,ndim是g的維度
這是生成10-50之間的數據,234的維度
原文鏈接:https://blog.csdn.net/weixin_46297839/article/details/107200878