Numpy和spicy函式複習1

2021-08-20 03:22:57 字數 1912 閱讀 4053

上節的numpy和scipy練習中,由於numpy和spicy相關函式較多,所以學習了網上的相關**後,做乙個小小的總結方便以後複習和學習之用,只是總結了部分知識,以後會在學習相關練習後不斷更新。

一、建立陣列和改變形狀

(1)np.arange(start, stop, step, dtype=none )

例:np.arange(3) -> array([0, 1, 2])

np.arange(3.0) -> array([ 0.,  1.,  2.])

np.arange(3,7) -> array([3, 4, 5, 6])

np.arange(3,7,2) -> array([3, 5])

(2)np.zeros(shape, dtype, order='c')

建立乙個給定形狀和型別的用0填充的陣列

例:np.zeros(3) -> 

array([ 0.,  0.,  0.])

np.zeros((3,), dtype=np.int) -> 

array([0, 0, 0])

(3)np.ones(shape, dtype, order='c')

建立乙個給定形狀和型別的用1填充的陣列

例:np.ones(3) -> 

array([ 1.,  1.,  1.])

np.ones((3,), dtype=np.int) -> 

array([1, 1, 1])

(4)b=a.reshape(n,n)

例:a=[1,2,3,4]

b = a.reshape(2,2) 

->b=[[1,2]

[3,4] ]

二、獲取陣列資訊

1.獲取陣列每一維度的大小:a.shape

2.獲取陣列維度:a.ndim

3.元素個數:a.size

4.陣列轉置:a.t

三、建立矩陣方法

建立矩陣:np.mat()通過字串格式建立,np.mat(array)通過陣列建立

建立復合矩陣:np.bmat(『a b』,』ab』),用a和b建立復合矩陣ab(字串格式)

建立n*n單位矩陣:np.eye(n)

矩陣的轉置:a.t

矩陣的逆矩陣:a.i

計算協方差矩陣:np.cov(a),np.cov(a,b)

計算矩陣的對角線元素和:a.trace()

給出對角線元素:a.diagonal()

四、跟線性代數相關的函式

估計線性模型中的係數:a=np.linalg.lstsq(x,b),   式子:b=a*x

求方陣的逆矩陣:np.linalg.inv(a)

求廣義逆矩陣:np.linalg.pinv(a)

求矩陣的行列式:np.linalg.det(a)

解形如ax=b的線性方程組:np.linalg.solve(a,b)

求矩陣的特徵值:np.linalg.eigvals(a)

求特徵值和特徵向量:np.linalg.eig(a)

sad分解: u, sigma,vd=

np.linalg.svd(a)

svdvals()函式:s=np.linalg.svdvals(a), 得到對角線是奇異值的矩陣s,可用max(),min()求最大最小奇異值

五、概率分布

產生二項分布的隨機數:np.random.binomial(n,p,size),其中n,p,size分別是每輪試驗次數、概率、輪數

產生超幾何分布隨機數:np.random.hypergeometric(n1,n2,n,size=…),其中引數意義分別是物件1總量、物件2總量、每次取樣數、試驗次數

產生n個正態分佈的隨機數:np.random.normal(均值,標準差,n)

產生n個對數正態分佈的隨機數:np.random.lognormal(mean,sigma,n)

numpy 矩陣和通用函式

建立矩陣 mat matrix bmat 分塊矩陣 用小矩陣組成大矩陣 轉置矩陣 t 逆矩陣 i 通用函式 frompyfunc函式 呼叫python的函式建立通用函式 zeros like 根據輸入引數初始化乙個全為0的陣列 flat屬性設定所有元素為乙個值 通用函式的方法 在add上呼叫 np....

numpy函式記錄

功能 產生size個離散均勻分布的整數,這些整數大於等於low,小於high。預設high是none,如果只有low,那範圍就是 0,low 如果有high,範圍就是 low,high n 3a np.random.randint 20,40,n,2 astype np.float32 b np.r...

Numpy常用函式

1 把向量轉化為矩陣 import numpy as np a np.arange 15 構造出乙個從0到14的向量 檢視為 array 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 改變向量為三行五列的矩陣 a.reshape 3,5 結果為 array 0,1,2,3,4...