Numpy基本用法

tech2022-11-03  108

numpy切片和索引

s = np.arange(10) # [0 1 2 3 4 5 6 7 8 9] print(s[1:8]) # [1 2 3 4 5 6 7] print(s[1:]) # [1 2 3 4 5 6 7 8 9] print(s[:-1]) # [0 1 2 3 4 5 6 7 8] print(s[1:8:2]) # [1 3 5 7] a = np.array([[1,2,3], [4,5,6],[7,8,9]]) b = a[1:3, 1:3] c = a[1:3,[1,2]] d = a[...,1:]

numpy之间的运算(加减乘除)

形状一样的时候

a = np.array([1,2,3,4]) b = np.array([10,20,30,40]) c = a * b # [ 10 40 90 160]

形状不一样的时候

a = np.array([[ 0, 0, 0], [10,10,10], [20,20,20], [30,30,30]]) b = np.array([1,2,3]) print(a + b) # [[ 1 2 3] # [11 12 13] # [21 22 23] # [31 32 33]]

修改形状

a = np.arange(8) b = a.reshape(4,2) #重置形状 print(b) for row in b: # 取出每一行 print(row) for element in b.flat: # 取出每一个元素 print(element) print (b.ravel(order='F')) # F是按列展开,默认按行展开 print(np.sin(b)) #每个元素做sin并返回同等大小数组

矩阵属性

print(b.T) # 简单的转置 print(np.matlib.zeros((2,3))) #zeros全0 ones 全1

线性代数常用函数

a = np.array([[1,2],[3,4]]) b = np.array([[11,12],[13,14]]) print(np.dot(a,b)) #矩阵相乘 vdot是点积 #[[37 40] # [85 92]] print(a*b) # 每个元素对应相乘 #[[11 24] # [39 56]]
最新回复(0)