python數據分析——numpy創建多維數組的方式


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM