numpy库为Python带来了真正的( )数组功能,
Python的数据分析(Numpy中的除法和余数,三角函数,ufunc对象的位运算)_mb62e7593c01ba5 _的技术博客
目录一、四分法二、冗余运算三、斐波那契数的四种求解方法四、坐标变换的三角函数五、ufunc对象位运算一、四分法一、真除法:结果完全保留,小数部分也保留。
1)numpy.true_divide()
2)numpy.divide()
3)也可以直接使用“/”除法运算符,结果也是真除法结果。
2.地板除法:除法结果向下取整,小的向下取整。
1)numpy.floor_divide()
2)操作符号“//”
3.上限除法:将除法结果向上取整,取较大者向上取整。
没有具体的函数,可以先做真除法,然后圆整天花板(ceil),再取int类型。
4.截断除法:直接去掉小数部分进行四舍五入。
如果没有具体的函数,可以先做真除法,然后截尾圆整(trunc),再取int类型。
5.实践准则
将numpy作为np导入
a=np.array([5,5,-5,-5])
b=np.array([2,-2,2,-2])
打印(a,b)
#真正的分裂
c1=np.true_divide(a,b)
c2=np.divide(a,b)
c3=a/b
打印(-)
打印(c1,c2,c3)
#地板拆除
d1=np.floor_divide(a,b)
d2=a //b
打印(-)
打印(d1,d2)
#天花板拆除
e=np.ceil(a/b)。astype(int)
打印(-)
打印(e)
#截断除法
f=np.trunc(a/b)。astype(int)
打印(-)
打印(f)
二、余数运算1、地板余数:地板除法后的余数。
1)numpy.remainder()
2)numpy.mod()
3)冗余操作符号“%”
2.截断余数:截断后得到的余数。
numpy.fmod()
3.实践准则
将numpy作为np导入
a=np.array([5,5,-5,-5])
b=np.array([2,-2,2,-2])
打印(a,b)
#地板盈余
c1=np .余数(a,b)
c2=np.mod(a,b)
c3=a % b
打印(-)
打印(c1,c2,c3)
#截断余数
d=np.fmod(a,b)
打印(-)
打印(d)
3.求解斐波那契数的四种方法1。递归方法。
n=30
def fibo(n):
如果n=3,返回fibo(n-1) fibo(n-2)否则返回1
Print(fibo(n))2。循环模式:不需要占用太多内存,效率也比前一种高。
n=30
F1,F2=0,1 #记录两个添加的项。
对于range(n)中的I:# fn从f0开始,第一项为1,第二项也为1。
fn=f1 f2
#添加后,需要交换值
f1,f2=fn,f1
打印(fn)3。矩阵模式:效果更高。
将numpy作为np导入
n=30
print(int((np.mat(1。1.1.0.)** (n-1))[0,0]))4。根方法
将numpy作为np导入
n=30
r=np.sqrt(5)
print(int((1 r)/2)* * n-((1-r)/2)* * n)/r))IV。坐标变换的三角函数1。关于ufunc对象的注释
python中几乎所有的算术和关系操作符都由numpy实现为矢量化操作符,可以借助ufunc对象对数组进行操作。
2.实施原则
numpy中的三角函数是ufunc对象。可以对参数数组中的每个元素执行三角函数运算,并将运算结果作为数组返回。
水平和垂直坐标的数据随三角函数变化的曲线(如两个方向的交流电):
x=Asin(/2时)
y=Bsin(bt)
3.参考码
将numpy作为np导入
将matplotlib.pylab作为mp导入
T=np.linspace(0,2*np.pi,201) #用201个点记录位置信息
# A,A,B,b=10,1,5,1
# A,A,B,b=10,1,5,2 #频率改为2
a,a,B,b=10,9,5,7 #频率改为非整数倍
x=A * NP . sin(A * t np.pi/2)
y=B * np.sin(b*t)
#画一条曲线
mp.figure(Lissajous ,facecolor=lightgray )
mp.title(Lissajous ,fontsize=20)
mp.xlabel(x ,fontsize=14)
mp.ylabel(y ,fontsize=14)
mp.tick_params(labelsize=10)
网状网格(线)
mp.plot(x,y,c= orangered ,label=Lissajous )
mp.legend()
mp.show()
5.ufunc对象位操作1。异或运算:只要相同就是0,差了就是1。在numpy中,相同的符号为正,不同的符号为负。
或__异或_ _或bitwise_xor1^0=1 0=1
1^1=0
0^0=0
0 1=12,按位and运算:只要有0,就是0。在numpy中,只要有两个差,结果就是0,2的幂的结果就是0。
Or __and__ or bitwise_and1 0=0
0 0=0
0 1=0
1=13.移位运算:左移相当于除以2,右移相当于乘以2。
左移(除以2): or __lshift__ or左移右移(乘以2): or __rshift__ or右移4、练习代码
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。