numpy的矩阵运算
矩阵的转置
import numpy as np
a = np.arange(2,14).reshape((3,4))
print(a)
print(np.transpose(a)) #矩阵的转置
print((a.T).dot(a)) #a.T 矩阵的转置,dot(a) 矩阵的乘法
矩阵的归一化
import numpy as np
a = np.arange(2,14).reshape((3,4))
print(a)
print(np.clip(a,5,9)) #截取矩阵中5-9的数,小于5的都变成5,其他的不变
数据的累加
import numpy as np
a = np.arange(2,14).reshape((3,4))
print(a)
print(np.cumsum(a)) #矩阵数据的累加
其他操作
import numpy as np
a = np.arange(2,14).reshape((3,4))
print(a)
print(np.argmin(a)) #矩阵数据最小值索引
print(np.argmax(a)) #矩阵数据最大值索引
print(np.mean(a)) #矩阵数据的平均值
print(np.average(a)) #矩阵数据的平均值
print(np.median(a)) #矩阵数据的中值
print(np.diff(a)) #矩阵数据的累差
print(np.nonzero(a)) #寻找非0值
print(np.sort(a)) #排序
print(np.sum(a,axis=1)) #对列求和
矩阵变为一列,并逐个提取
import numpy as np
a = np.arange(2,14).reshape((3,4))
print(a.flatten()) #将矩阵变为一列
for item in a.flat: #迭代器,逐个提取数据
print(item)
矩阵的合并
import numpy as np
a = np.array([1,1,1])
b = np.array([2,2,2])
c = np.vstack((a,b)) #上下合并
d = np.hstack((a,b)) #左右合并
e = np.array([2,2,2])[:,np.newaxis] #在列上面添加一个维度
f = np.array([2,2,2])[np.newaxis,:] #在行上面添加一个维度
g = np.concatenate((a,b,b,a),axis=0) #可将多个维度进行合并,并可指定合并的方向,0表示上下进行合并
矩阵的分割
import numpy as np
a = np.arange(12).reshape((3,4))
print(a)
print(np.split(a,3,axis=0)) #只能进行均等分割,3表示分割成几份,axis=0表示按行分割
print(np.array_split(a,3,axis=0)) #可进行不均等分割,3表示分割成几份,axis=0表示按行分割
print(np.vsplit(a,3)) #横向均等分割
print(np.hsplit(a,2)) #纵向均等分割