numpy中常用陣列介紹

2021-10-23 14:12:39 字數 2093 閱讀 3271

numpy提供了高效儲存和操作密集資料快取的介面,numpy陣列幾乎是整個python資料科學工具生態系統的核心,因此學習如何有效地使用numpy是非常值得的。

如果你安裝的是anaconda,那麼你已經安裝好了numpy,可以使用了。

通過import numpy as np來匯入numpy

這裡as是給numpy設定乙個別名,在pydata社群大多數人用np作為numpy的別名,我們也遵循大多數的慣例。

建立乙個全為0的陣列

np.zeros(shape,dtype=float)

np.zeros((2,2))
上面建立的是乙個2行2列的值全都是0的陣列,

shape引數,設定陣列的形狀,這是必選引數,如果是一維陣列,可以指定元素個數,如果是二維及以上的陣列,用元組的形式表示;

dtype引數,用來設定所建立陣列的資料型別,預設是float,第三個引數

和全0陣列相似的還有全為1的陣列,使用np.ones(),他的引數和np.zeros相同

建立單位矩陣

np.eye(n, m=none, k=0)

np.eye(2,3,1)
生成的是乙個2行3列的乙個矩陣,對角線數值1向上移動了乙個偏移量

引數n,m,設定生成乙個n行m列的單位矩陣,m不設定時,生成的是方陣

引數k,設定對角線的偏移量,取正數時,向上偏移,取負數時向下偏移

建立對角矩陣

np.diag(v,k=0)

np.diag([1,2,3],1)
生成乙個4行4列的對角矩陣,對角線值[1,2,3]向上偏移乙個位置

引數v,指定對角線上的值,陣列形式表示,

引數k,設定對角線的偏移量,

矩陣的shape由v和k的取值共同決定,

如果只有引數v,則shape由v的元素個數決定,

如果v和k都有取值,則shape等於v的元素個數加上k的絕對值

建立同值矩陣

np.full(shape, fill_value, dtype=none)

np.full((2,3),5)
生成乙個2行3列,值全為5的矩陣

fill_value引數,設定填充矩陣的值

建立隨機數組

rand(d0, d1, …, dn)

randn(d0, d1, …, dn)

randint(low, high=none, size=none, dtype=『l』)

normal(loc=0.0, scale=1.0, size=none)

np.random.rand(2) # 生成均勻分布的隨機數,取值在[0,1)

np.random.randn(2) # 返回正態分佈的隨機樣本值

np.random.randint(1,5,(2,3)) #生成乙個2行3列的陣列,元素取值範圍在[1,5)

np.random.normal(2,4,(2,3)) #返回乙個2行3列均值為2,標準差為4的正態分佈的隨機樣本陣列

建立線性序列陣列

arange([start,] stop[, step,], dtype=none)

np.arange(0,10,2) # 生成從0到10(不包含10),步長為2的陣列
建立等距序列陣列

np.linspace(

start,stop,num=50,endpoint=true,dtype=none)

np.linspace(0,10,5) # 在0到10之間生成5個等距的數,
引數num,設定生成陣列元素的個數

引數endpoint,為true時,包含右邊邊界,輸出結果為[0,2.5,5,7.5,10]

為false時,不包含右邊界,輸出結果為[0,2,4,6,8]

numpy中常用的函式

詳細的random模組中的其他函式 np.random.rand 3,2 array 0.14022471,0.96360618 random 0.37601032,0.25528411 random 0.49313049,0.94909878 random np.random.randint 2,...

Numpy庫中常用random函式

在機器學習中,經常需要用到資料的生成或者初始值生成,記錄一下常用的random函式 rand生成的是給定大小規模且數值在 0,1 均勻分布的資料 import numpy as np x np.random.rand 2,3 生成2x3規模,數值在0到1內均勻分布的資料 print x 輸出結果 0...

numpy陣列拼接方法介紹

陣列拼接方法一 示例1 import numpy as np a np.array 1,2,5 b np.array 10,12,15 a list list a b list list b a list.extend b list a list 1,2,5,10,12,15 a np.array ...