在下面的代码里面,我们利用numpy和scipy做了很多工作,每一行都有注释,讲解了对应的向量/矩阵操作。
归纳一下,下面的代码主要做了这些事:
创建一个向量
创建一个矩阵
创建一个稀疏矩阵
选择元素
展示一个矩阵的属性
对多个元素同时应用某种操作
找到最大值和最小值
计算平均值、方差和标准差
矩阵变形
转置向量或矩阵
展开一个矩阵
计算矩阵的秩
计算行列式
获取矩阵的对角线元素
计算矩阵的迹
计算特征值和特征向量
计算点积
矩阵的相加相减
矩阵的乘法
计算矩阵的逆
一起来看代码吧:
# 加载numpy库
import numpy as np
from scipy import sparse
# 创建一个一维数组表示一个行向量
vector_row = np.array([1, 2, 3])
# 创建一个一维数组表示一个列向量
vector_column = np.array([[1], [2], [3]])
# 创建一个二维数组表示一个矩阵
matrix1 = np.array([[1, 2], [1, 2], [1, 2]])
# 利用Numpy内置矩阵数据结构
matrix1_object = np.mat([[1, 2], [1, 2], [1, 2]])
# 创建一个新的矩阵
matrix2 = np.array([[0, 0], [0, 1], [3, 0]])
# 创建一个压缩的稀疏行(CSR)矩阵
matrix2_sparse = sparse.csc_matrix(matrix2)
# 查看稀疏矩阵
print(matrix2_sparse)
# 创建一个更大的矩阵
matrix_large = np.array([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
[3, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
# 创建一个CSR矩阵
matrix_large_sparse = sparse.csr_matrix(matrix_large)
# 查看更大的稀疏矩阵
print(matrix_large_sparse)
# 创建一个行向量
vector = np.array([1, 2, 3, 4, 5, 6])
# 创建矩阵
matrix_vector = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 选择向量的第三个元素
print(vector[2])
# 选择第二行第二列
print(matrix