# coding=gbk #
防止出现中文编译错误
import numpy as np
list_x=[[1,1],[92,2]] #列表
array_x=np.array(list_x) #将列表转化成二维数组
mat_x=np.mat(list_x) #
将列表转化成矩阵
mat_x_t=mat_x.T #矩阵转置
mat_x_p=mat_x.I #矩阵求逆
sum_r=mat_x.sum(axis=0) #矩阵每行求和
sum_c=mat_x.sum(axis=1) #矩阵每列求和
sum_=np.sum(mat_x[:,:]) #矩阵求和,
注意np.sum 不同于sum
max_=np.max(mat_x) #计算矩阵中所有元素的最大值,这里得到的结果是一个数值
max_c2=np.max(mat_x[:,1]) #计算第二列的最大值,
注意np.max得到的是一个数值,max得到的是一个1*1的矩阵
max_r2=mat_x[1,:].max() #计算第二行的最大值,这里得到的是一个一个数值
max_c=np.max(mat_x,0) #计算所有列的最大值,这里使用的是numpy中的max函数
max_r=np.max(mat_x,1) #计算所有行的最大值,这里得到是一个矩阵
argmax_c=np.argmax(mat_x,0) #
计算所有列的最大值对应在该列中的索引
argmax_r2=np.argmax(mat_x[1,:]) #计算第二行中最大值对应在该行的索引
vstack_x_xt=np.vstack((mat_x,mat_x_t)) #
按列合并,即增加行数
hstack_x_xt=np.hstack((mat_x,mat_x_t)) #按行合并,即行数不变,扩展列数
dimension=mat_x.ndim;
m,n=mat_x.shape;
size=mat_x.size #元素总个数
type=mat_x.dtype #元素的类型
print("list_x=",list_x)
print("array_x=",array_x)
print("mat_x=",mat_x)
print("mat_x_t=",mat_x_t)
print("mat_x_p=",mat_x_p)
print("x*x_p=",mat_x*mat_x_p) #矩阵相乘
print("x.*x=",np.multiply(mat_x,mat_x)) #矩阵点乘
print("sum_r=",sum_r)
print("sum_c=",sum_c)
print("sum_=",sum_)
print("max_=",max_)
print("max_c2=",max_c2)
print("max_r2=",max_r2)
print("max_c=",max_c)
print("max_r=",max_r)
print("argmax_c=",argmax_c)
print("argmax_r2=",argmax_r2)
print("vstack_x_xt=",vstack_x_xt)
print("vstack_x_xt=",vstack_x_xt)
print("dimension=",dimension)
print("m,n=",m,n)
print("size=",size)
print("type=",type)
#以下为计算结果
list_x= [[1, 1], [92, 2]]
array_x= [[ 1 1]
[92 2]]
mat_x= [[ 1 1]
[92 2]]
mat_x_t= [[ 1 92]
[ 1 2]]
mat_x_p= [[-0.02222222 0.01111111]
[ 1.02222222 -0.01111111]]
x*x_p= [[ 1. 0.]
[ 0. 1.]]
x.*x= [[ 1 1]
[8464 4]]
sum_r= [[93 3]]
sum_c= [[ 2]
[94]]
sum_= 96
max_= 92
max_c2= 2
max_r2= 92
max_c= [[92 2]]
max_r= [[ 1]
[92]]
argmax_c= [[1 1]]
argmax_r2= 0
vstack_x_xt= [[ 1 1]
[92 2]
[ 1 92]
[ 1 2]]
vstack_x_xt= [[ 1 1]
[92 2]
[ 1 92]
[ 1 2]]
dimension= 2
m,n= 2 2
size= 4
type= int32