numpy基础运算


NumPy是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表结构要 高效的多,支持大量的维度数组与矩阵运算。
此外也针对数组运算提供大量的数学函数库 。
由于计算简单,且生成的结果较长,没有附带结果。

矩阵的生成

// An highlighted block
'''矩阵的生成'''
import numpy as np
a=np.array([[1,2,3],[4,5,6]])
print(a)

#零的矩阵
b=np.zeros((3,4))
print(b)
#一的矩阵
c=np.ones((3,3))
print(c)
#三行四列的矩阵
d=np.arange(12).reshape(3,4)
print(d)
#在指定的间隔内返回均匀间隔的数字。
e=np.linspace(1,10,5)
print(e)
#随机产生矩阵
a=np.random.random((3,3))
print(a)

矩阵算数计算

// An highlighted block
'''矩阵中元素的算数运算'''
import numpy as np
a=np.array([10,20,30,40,50])
b=np.arange(5)
print(a,b)
#乘法
c=a*b
print(c)
#正弦函数
d=10*np.sin(b)
print(d)
#大小比较
print(a>20)
// An highlighted block
'''矩阵间的算数运算'''
a=np.array([[1,1],[0,1]])
b=np.arange(4).reshape(2,2)
print(a)
print(b)
#矩阵乘法
c_dot=np.dot(a,b)
print(c_dot)
#另一种矩阵乘法  写法
c_dot_2=a.dot(b)
print(c_dot_2)
'''矩阵元素的最值'''
print(c_dot)
print(np.sum(c_dot))  #总数加和
print(np.min(c_dot,axis=0))   #每列的最小值
print(np.max(c_dot,axis=1))   #每行的最大值

矩阵元素运算

// An highlighted block
import numpy as np
A=np.arange(14,2,-1).reshape((3,4))
print(A)
'''索引'''
#最小值的索引
print(np.argmin(A))
#索引的值
print(A[1][2])
print(A[1,2])
#所有行第一列的值
print(A[:,1])
'''矩阵计算'''
#矩阵的平均值
print(np.mean(A))
print(A.mean())
print(np.average(A))
#矩阵的中位数
print(np.median(A))
#矩阵累加
print(np.cumsum(A))
#矩阵排序
print(np.sort(A))
#矩阵转置
print(A.T)
#对矩阵元素进行比较
print(np.clip(A,5,9))
#迭代器
print(A.flatten())
#逐项输出
for item in A.flat:
    print(item,end='\t')

矩阵合并

// An highlighted block
import numpy as np
A=np.array([1,1,1])
B=np.array([2,2,2])
'''矩阵合并'''
#上下合并
C=np.vstack((A,B))
print(C)
#左右合并
D=np.hstack((A,B))
print(D)
'''矩阵维度变换'''
#对数组加维度
print(A.shape)
print(A[:,np.newaxis].shape)  #对列数加维度
print(A[:,np.newaxis])
print(A[np.newaxis,:].shape)  #对行数加维度
print(A[np.newaxis,:])
#数组合并
print(np.concatenate((A,B,B,A),axis=0))  #行合并
F=np.array([1,1,1])[:,np.newaxis]
G=np.array([2,2,2])[:,np.newaxis]
print(np.concatenate((G,F,F,G),axis=1))  #列合并

矩阵分割

// An highlighted block
import numpy as np
A=np.arange(12).reshape(3,4)
print(A)
'''等项分割'''
#纵向分割为两个数组
print(np.hsplit(A,2))
print(np.split(A,2,axis=1))
#横向分割为三个数组
print(np.vsplit(A,3))
print(np.split(A,3,axis=0))
'''不等项分割'''
#不等量分割
print(np.array_split(A,3,axis=1))

矩阵元素赋值

// An highlighted block
import numpy as np
A=np.arange(4)
#AB同步变化
B=A
print(A)
A[1]=12
print(A)
print(B is A)
print(B)

#深度赋值
A=np.arange(4)
#AC不同步变化
C=A.copy()
A[1]=12
print(A)
print(C is A)
print(C)

猜你喜欢

转载自blog.csdn.net/weixin_42567027/article/details/107217289
今日推荐