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 @   -涂涂-  阅读(206)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示