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 ...