numpy库为Python带来了真正的( )数组功能,

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: