Live2D

矩阵操作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 lg

b=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()函数。

 

 

 

 

 

 

 

 


posted @ 2019-01-19 15:58  -涂涂-  阅读(214)  评论(0)    收藏  举报