矩阵操作2
數值操作
取整: a = 3.75 int(a) 3 四舍五入: round(3.25) 3 向上取整: math.ceil(3.25) 4 取整數和小數部分: math.modf(3.75) (0.75, 3.0)矩陣轉化
b = np.array([1.23,12.201,123.1]) b.dtype 結果:dtype('float64')c = b.astype(int) 結果:array([ 1, 12, 123])c.dtype 結果:dtype('int32')創建矩陣:
ones創建全1矩陣 ,zeros創建全0矩陣 ,eye創建單位矩陣 ,empty創建空矩陣(實際有值)
一維: 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方法實現:
hstack()函數對應矩陣的橫向拼接
vstack()函數對應矩陣的縱向拼接
?
矩陣相乘:
c=a.dot(b)
?
矩陣轉置:
a.T
?
矩陣的逆:
求矩陣的逆需要先導入numpy.linalg,用linalg的inv函數來求逆。矩陣求逆的條件是矩陣應該是方陣。
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)獲取矩陣的方差:
方差的函數為var,方差函數var相當于函數mean(abs(x - x.mean)**2),其中x為矩陣。
所有值 a.var() 列 a.var(axis=0) 行 a.var(axis=1)獲取矩陣的標準差:
標準差的函數為std。 std相當于sqrt(mean(abs(x - x.mean)**2)),或相當于sqrt(x.var)。
所有值 a.std() 列 a.std(axis=0)行
a.std(axis=1)
獲取矩陣的中值:
中值指的是將序列按大小順序排列后,排在中間的那個值,如果有偶數個數,則是排在中間兩個數的平均值。中值的函數是median,調用方法為numpy.median(x,[axis]),axis可指定軸方向,默認axis=None,對所有數取中值。
所有值 np.median(a) 列 np.median(a,axis=0)行
np.median(a,axis=1)
?
求和函數和標準差寫法類似用sum()函數。
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/51python/p/10292006.html
總結
- 上一篇: 45-暴力密码字典
- 下一篇: 18年总结及19年展望