版权声明:本文为作者原创文章,如转载请注明出处。
4 数学函数
numpy提供了许多常用的数学函数,在应用时一定要分清1维数组和2维数组的区别。
函数 | 作用 |
---|---|
sin/cos/tan | 三角函数 |
round/floor/ceil | 近似数 |
power | 幂 |
mod | 相除求余 |
amin/amax | 最小最大值 |
mean | 平均值 |
var | 方差 |
首先定义4个数组
>>>import numpy as np
>>>a=np.array([1,2,3])
>>>b=np.array([2,3,4])
>>>c=np.array([[1,2,3],[2,3,4]])
>>>d=np.array([[2,3,4],[3,4,5]])
sin正弦 cos余弦 tan正切
>>>np.sin(a)
array([0.84147098, 0.90929743, 0.14112001])
>>>np.cos(c)
array([[ 0.54030231, -0.41614684, -0.9899925 ],
[-0.41614684, -0.9899925 , -0.65364362]])
round四舍五入 floor向下取整 ceil向上取整
>>>np.round(np.sin(a))
array([1., 1., 0.])
>>>np.floor(np.cos(c))
array([[ 0., -1., -1.],
[-1., -1., -1.]])
>>>np.power(a,2)
array([1, 4, 9], dtype=int32)
>>>np.power(a,b)
array([ 1, 8, 81], dtype=int32)
>>>np.power(a,c)
array([[ 1, 4, 27],
[ 1, 8, 81]], dtype=int32)
>>>np.power(c,a)
array([[ 1, 4, 27],
[ 2, 9, 64]], dtype=int32)
>>>np.power(c,d)
array([[ 1, 8, 81],
[ 8, 81, 1024]], dtype=int32)
pow和power有相同的用法
>>>np.mod(a,2)
array([1, 0, 1], dtype=int32)
>>>np.mod(a,b)
array([1, 2, 3], dtype=int32)
>>>np.mod(a,d)
array([[1, 2, 3],
[1, 2, 3]], dtype=int32)
>>>np.mod(c,a)
array([[0, 0, 0],
[0, 1, 1]], dtype=int32)
>>>np.mod(c,d)
array([[1, 2, 3],
[2, 3, 4]], dtype=int32)
amin最小值 amax最大值
>>>np.amin(b)
2
>>>np.amin(c)
1
>>>np.amin(c,axis=0)
array([1, 2, 3])
>>>np.amin(c,axis=1)
array([1, 2])
mean 平均值
>>>np.mean(a)
2.0
>>>np.mean(c)
2.5
>>>np.mean(c,axis=0)
array([1.5, 2.5, 3.5])
>>>np.mean(c,axis=1)
array([2., 3.])
var方差
>>>np.var(a)
0.6666666666666666
>>>np.var(c)
0.9166666666666666
>>>np.var(c,axis=0)
array([0.25, 0.25, 0.25])
>>>np.var(c,axis=1)
array([0.66666667, 0.66666667])
*矩阵乘法
在数据处理中有许多矩阵乘法的应用,现在对其总结。
点乘
>>>a*2
array([2, 4, 6])
>>>c*2
array([[2, 4, 6],
[4, 6, 8]])
>>>a*b
array([ 2, 6, 12])
>>>a*c
array([[ 1, 4, 9],
[ 2, 6, 12]])
>>>c*a
array([[ 1, 4, 9],
[ 2, 6, 12]])
>>>c*d
array([[ 2, 6, 12],
[ 6, 12, 20]])
矩阵乘法
>>>np.dot(a,b)
20
>>>np.dot(c,a)
array([14, 20])
>>>np.dot(a,c.T)
array([14, 20])
>>>np.dot(c,d.T)
array([[20, 26],
[29, 38]])