2017年07月05日
Author:
Guofei
文章归类: 0x12_Pandas与numpy
文章编号: 1101
版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
✉
原文链接:https://www.guofei.site/2017/07/05/numpylinalg.html
总结
函数 |
说明 |
diag |
(输入是2维时)对角线(第k个)转1维阵 |
diag |
(输入是1维时)一维阵转对角阵 |
dot |
矩阵乘法 |
matrix_power(arr1, n) |
n次方,n是正/负/零整数 |
trace |
对角线元素和 |
det |
对应行列式值 |
eig |
特征值和特征向量 |
inv |
矩阵的逆 |
pinv |
矩阵的Moore-Pwnrose伪逆 |
qr |
QR分解 |
svd |
SVD分解 |
矩阵运算
import numpy as np
arr1 = np.random.uniform(0, 1, size=(3, 3))
arr2 = np.random.uniform(0, 1, size=(10, 1))
# 矩阵对应的行列式的值
A = np.linalg.det(arr1)
# 矩阵的转置
arr1.T
# 矩阵的逆
np.linalg.inv(arr1)
# 矩阵乘法
np.dot(arr1, arr2)
# 注意,这里的a,b必须是多维的,否则返回的是內积(对应项相乘)
# python 3.5 以上也可以这样写:
arr1 @ arr2
# 矩阵的点积
a * b
# 矩阵的次方
np.linalg.matrix_power(arr1, n=3)
# n是正/负/零整数
# 矩阵的特征值特征向量
eigenvalues, eigenvectors = np.linalg.eig(arr1)
np.linalg.eig(A) # 输入任意方阵,返回特征值+特征向量
np.linalg.eigvals(A) # 输入任意矩阵,返回特征值
np.linalg.eigh(A) # 输入:实对称或 Hermitian 方阵。返回特征值+特征向量,速度快,精度高
np.linalg.eigvalsh(A) # 输入:实对称或 Hermitian 方阵。返回特征值,不计算特征向量,速度更快。不能用于非对称矩阵
scipy.linalg.eigh
scipy.linalg.eigvals
scipy.linalg.eigvalsh
scipy.linalg.eig_banded
scipy.linalg.eigh_tridiagonal
scipy.linalg.eigvals_banded
scipy.linalg.eigvalsh_tridiagonal
# 矩阵的秩
np.linalg.matrix_rank(a)
数据清洗
np.where
np.argwhere(name_data) # 矩阵中,非零元素的坐标
您的支持将鼓励我继续创作!