矩阵操作2
數(shù)值操作
取整: a = 3.75 int(a) 3 四舍五入: round(3.25) 3 向上取整: math.ceil(3.25) 4 取整數(shù)和小數(shù)部分: math.modf(3.75) (0.75, 3.0)矩陣轉(zhuǎn)化
b = np.array([1.23,12.201,123.1]) b.dtype 結(jié)果:dtype('float64')c = b.astype(int) 結(jié)果:array([ 1, 12, 123])c.dtype 結(jié)果:dtype('int32')創(chuàng)建矩陣:
ones創(chuàng)建全1矩陣 ,zeros創(chuàng)建全0矩陣 ,eye創(chuàng)建單位矩陣 ,empty創(chuàng)建空矩陣(實(shí)際有值)
一維: b=np.array([1,2,3]) 或者b=np.arange(4,6)
二維: b=np.array([(1,2,3),(4,5,6)]) 或者 b=np.array([(1,2,3),(4,5,6)])
矩陣的合并可以通過numpy中的hstack方法和vstack方法實(shí)現(xiàn):
hstack()函數(shù)對應(yīng)矩陣的橫向拼接
vstack()函數(shù)對應(yīng)矩陣的縱向拼接
?
矩陣相乘:
c=a.dot(b)
?
矩陣轉(zhuǎn)置:
a.T
?
矩陣的逆:
求矩陣的逆需要先導(dǎo)入numpy.linalg,用linalg的inv函數(shù)來求逆。矩陣求逆的條件是矩陣應(yīng)該是方陣。
import numpy.linalg as lgb=lg.inv(a)獲取矩陣最值:
整個矩陣: a.max() a.min()行后者列的最值: a.max(axis=0) 列最值 a.max(axis=1) 行最值獲取最值位置:
a.argmax(axis=1) 最大值位置
獲取矩陣的平均值:
所有值的均值 a.mean() 列的均值 a.mean(axis=0) 行的均值 a.mean(axis=1)獲取矩陣的方差:
方差的函數(shù)為var,方差函數(shù)var相當(dāng)于函數(shù)mean(abs(x - x.mean)**2),其中x為矩陣。
所有值 a.var() 列 a.var(axis=0) 行 a.var(axis=1)獲取矩陣的標(biāo)準(zhǔn)差:
標(biāo)準(zhǔn)差的函數(shù)為std。 std相當(dāng)于sqrt(mean(abs(x - x.mean)**2)),或相當(dāng)于sqrt(x.var)。
所有值 a.std() 列 a.std(axis=0)行
a.std(axis=1)
獲取矩陣的中值:
中值指的是將序列按大小順序排列后,排在中間的那個值,如果有偶數(shù)個數(shù),則是排在中間兩個數(shù)的平均值。中值的函數(shù)是median,調(diào)用方法為numpy.median(x,[axis]),axis可指定軸方向,默認(rèn)axis=None,對所有數(shù)取中值。
所有值 np.median(a) 列 np.median(a,axis=0)行
np.median(a,axis=1)
?
求和函數(shù)和標(biāo)準(zhǔn)差寫法類似用sum()函數(shù)。
?
?
?
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/51python/p/10292006.html
總結(jié)
- 上一篇: 45-暴力密码字典
- 下一篇: 18年总结及19年展望