一、逻辑运算
1.布尔运算
通过< , >号判断数组全部值是否符合条件,如是否大于1,大于1会置为True,小于1会置为False
1 | #生成0到1之间,8行10列均匀分布的数组 |
2.通用判断函数
np.all(布尔值)
只要有一个False,就返回False;只有全是True才返回True
1 | np.all( stock_change[0:2,0:5]>0) |
np.any(布尔值)
只要有一个True,就返回True;只有全是False才返回False
1 | np.any( stock_change[0:2,0:5]>0) |
3.三元运算符
np.where(布尔值,True的位置的值,False的位置的值)
1 | temp = stock_change[:4,:4] |
复合逻辑运算
np.logical_and( ) 与运算
np.logical_or( ) 或运算
1 | #挑选大于0.5并且小于1的数 |
二、统计运算
1.统计指标函数
常见函数min、max、mean(平均值)、median(中位数)、var(方差)、std(标准差)
1 | #调用方法 |
2.返回最大值、最小值所在位置
1 | #np.argmax(temp, axis=) 按行:1,按列:0 |
三、数组间运算
1.数组与数的运算
相当于数组每个数都进行相同的运算
1 | arr1 = np.array([[1,2,3,2,1,4],[5,6,1,2,3,1]]) |
2.数组与数组运算
广播机制
方便不同形状的ndarray进行运算
可以运算的情况:
1.维度相等
2.shape 其中对应一个地方为1
3.矩阵运算
3.1矩阵存储方法
1.ndarrary二维数组
1 | data = np.array([[80,86],[82,80]]) |
2.matrix数据结构
1 | np.mat([[80,86],[82,80]]) |
3.2矩阵乘法运算
要求:
形状:(m , n) * (n , l)
运算规则:1.ndarray存储
np.matmul(arr1,arr2)
np.dot(arr1,arr2)
2.matrix存储
arr1 * arr2
注:ndarray存储相乘需要满足广播机制
1 | weights_mat |
评论