Numpy的运算
#数组与数的运算
import numpy as np
arr = np.array([[1,2,1,4,5,1],
[5,1,7,3,6,2]])
arr_sum = arr + 1 #所以元素相加减乘除
print(arr)
print(arr_sum)
#列表运算
a = [1,2,3,4,5]
#a_sum = a + 1 会报错
a_mult = a * 10 #个数相乘
print(a_mult)
#广播机制:为了计算不用形状的ndarry。满足1)维度相等。 2)shape(其中一个相对应的地方为1)
#比如形状为:(2,5)与(2,1) (3,5,1)与(3,1,6) (3,2,1)与(9) (3,2,1)与(1,4)都可以运算
#例如:(2,5) + (2,1)
arr1 = np.array([[2,5,1,5,7],
[5,5,1,2,8]])
arr2 = np.array([[1],
[2]])
arr1_2_sum = arr1 + arr2 #对应加减乘除
arr1_2_mult = arr1 * arr2
print('sum12=',arr1_2_sum)
print('mult12=',arr1_2_mult)
#矩阵运算
score_mat = np.mat([[90,80],
[76,34],
[54,75],
[45,86],
[98,89]])
rat_mat = np.mat([[0.3],
[0.7]])
total_score = np.matmul(score_mat,rat_mat) #做矩阵乘运算
#等价于np.dot(score_mat,rat_mat)
#等价于score_mat * rat_mat #如果是np.arry二维数组则不满足广播机制 无法运算
#等价于score_mat @ rat_mat
print(total_score)
#合并拼接
#横拼接
a = np.array([1,2,3])
b = np.array([4,5,6])
c = np.hstack([a,b]) #横拼接
a1 = np.array([[1],
[2],
[3]])
b1 = np.array([[4],
[5],
[6]])
d = np.hstack([a1,b1]) #横拼接
print(c)
print(d)
#竖拼接
c1 = np.vstack([a,b]) #竖拼接
d1 = np.vstack([a1,b1]) #竖拼接
print(c1)
print(d1)
#横竖合并法 横拼接:axis = 0 竖拼接:axis = 1
c2 = np.concatenate((a,b), axis = 0)
d2= np.concatenate((a1,b1), axis = 1)
print(c2)
print(d2)
#分割 np.split 不常用
坚持就是胜利 ,加油奥力给💪