numpy basic operations


NumPy is an open source numerical computing extension of Python. This tool can be used to store and process large matrix, to its nested list structure than Python efficient multi support a large number of array dimensions and matrix operations.
In addition, it also provides a large number of mathematical function libraries for array operations.
Since the calculation is simple and the generated result is longer, there is no accompanying result.

Matrix generation

// 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)

Matrix arithmetic calculation

// 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))   #每行的最大值

Matrix element operations

// 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')

Matrix merging

// 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))  #列合并

Matrix partition

// 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))

Matrix element assignment

// 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)

Guess you like

Origin blog.csdn.net/weixin_42567027/article/details/107217289