文章目录

  • 一、四种除法
  • 二、取余运算
  • 三、斐波那契数的四种求法
  • 四、坐标变化的三角函数
  • 五、ufunc对象位运算

一、四种除法

1、真除: 结果完全保留,小数部分也保留
1)numpy.true_divide()
2)numpy.divide()
3)也可以直接用‘/’除法运算符,结果也是真除结果

2、地板除: 将除法结果向下取整,往小的取整
1)numpy.floor_divide()
2)运算符号‘//’

3、天花板除: 将除法结果向上取整,往大的取整
没有具体函数,可以先做真除,再天花板取整(ceil),再取int类型

4、截断除: 直接去除小数部分取整
没有具体函数,可以先做真除,再截断取整(trunc),再取int类型

5、练习代码

import numpy as npa = np.array([5, 5, -5, -5])
b = np.array([2, -2, 2, -2])
print(a, b)# 真除
c1 = np.true_divide(a, b)
c2 = np.divide(a, b)
c3 = a / b
print("---------------真除---------------")
print(c1, c2, c3)# 地板除
d1 = np.floor_divide(a, b)
d2 = a // b
print("---------------地板除----------------")
print(d1, d2)# 天花板除
e = np.ceil(a/b).astype(int)
print("--------------天花板除-----------------")
print(e)# 截断除
f = np.trunc(a/b).astype(int)
print("----------------截断除---------------")
print(f)

二、取余运算

1、地板余数: 做地板除之后得到的余数
1)numpy.remainder()
2)numpy.mod()
3)取余运算符号‘%’

2、截断余数: 做截断除之后得到的余数
numpy.fmod()

3、练习代码

import numpy as npa = np.array([5, 5, -5, -5])
b = np.array([2, -2, 2, -2])
print(a, b)# 地板取余
c1 = np.remainder(a, b)
c2 = np.mod(a, b)
c3 = a % b
print("------------------地板取余-------------------")
print(c1, c2, c3)# 截断取余
d = np.fmod(a, b)
print("------------------截断取余-------------------")
print(d)

三、斐波那契数的四种求法

1、递归方式

n = 30
def fibo(n):return fibo(n-1) + fibo(n-2) if n>=3 else 1
print(fibo(n))

2、循环方式: 不需要占用太多内存,效率高于上一种

n = 30
f1, f2 = 0, 1  # 记录相加的两项
for i in range(n):  # fn是从f0开始的,得到第一项是1,第二项也是1fn = f1 + f2# 加完之后就需要交换一下值f1, f2 = fn, f1
print(fn)

3、矩阵方式: 效果更高

import numpy as np
n = 30
print(int((np.mat('1. 1.; 1. 0.') ** (n-1))[0, 0]))

4、根号方式

import numpy as np
n = 30
r = np.sqrt(5)
print(int((((1+r)/2) ** n - ((1-r)/2) ** n)/r))

四、坐标变化的三角函数

1、ufunc对象须知
python中几乎所有的算数和关系运算符都被numpy借助ufunc对象实现为可对数组操作的矢量化运算符

2、实现原理
numpy中的三角函数都是ufunc对象,可以对参数数组中的每个元素进行三角函数运算,并将运算结果以数组形式返回
横纵坐标数据都随三角函数变化的曲线(如两个方向的交流电):
x = Asin(at+pi/2)
y = Bsin(bt)

3、参考代码

import numpy as np
import matplotlib.pylab as mpt = 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.grid(linestyle=':')
mp.plot(x, y, c='orangered', label='Lissajous')
mp.legend()
mp.show()

五、ufunc对象位运算

1、异或运算: 只要是相同的就是0,不同的就是1。在numpy中,符号相同的是正数,符号不同的是负数。

  • ^或__xor__或bitwise_xor
  • 1^0=1
    1^1=0
    0^0=0
    0^1=1

2、位与运算: 只要有0就是0,在numpy中,只要两个不同,结果就是0,凡是2的次方的结果都是0

  • &或__and__或bitwise_and
  • 1&0=0
    0&0=0
    0&1=0
    1&1=1

3、移位运算: 左移相当于除2,右移相当于乘2

  • 左移(除2):<<或__lshift__或left_shift
  • 右移(乘2):>>或__rshift__或right_shift

4、练习代码

Python之数据分析(Numpy中的除法和取余、三角函数、ufunc对象的位运算)相关推荐

  1. java中double除法和取余的若干注意

    1 整数除法中,除数为0,抛出一个算术异常ArithmeticException.整数取余运算中,除数为0,抛出一个ArithmeticException异常.  如:  class Test  { ...

  2. java double 取余_java中double除法和取余的若干注意

    1 整数除法中,除数为0,抛出一个算术异常ArithmeticException.整数取余运算中,除数为0,抛出一个ArithmeticException异常. 如: class Test { pub ...

  3. C语言中关于除法和取余的理解

    C语言除法运算符"/"和求余运算符"%"    看似两个很简单的运算符,却也真要掌握用好它也不容易,本文作为关于此类运算符的各方面的问题的汇总,希望对你我都有一 ...

  4. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  5. 爱因斯坦求和约定在Python扩展库Numpy中的实现

    推荐教材: <Python数据分析.挖掘与可视化>(慕课版)(ISBN:978-7-115-52361-7),董付国,人民邮电出版社,定价49.8元,2020年1月出版,2021年12月第 ...

  6. Python 在数据分析工作中的地位与 R 语言比较如何?

    随着数据分析在各个行业的广泛应用,数据分析工具的选择变得越来越重要.那么Python 在数据分析工作中的地位与 R 语言.SAS.SPSS 比较如何呢? Python和R语言成为了两个最受欢迎的工具. ...

  7. Python扩展库numpy中where()函数的三种用法

    第一种用法:只给where()函数传递一个数组作为参数,返回其中非0元素的下标. 第二种用法:给where()函数传递一个包含True/False值的数组,返回该数组中True值的下标,结合numpy ...

  8. numpy中方法参数axis取值理解

    numpy中方法参数axis取值理解 首先不要使用什么横纵轴去理解,因为时间长了就忘记了,而且如果a是一个三维数组就没法解释了. axis等于0时,在shape中表示的是二维数组.那么np.amin( ...

  9. 汇编总结:无符号除法,有符号除法,取余,无符号乘法,有符号乘法指令

    2019独角兽企业重金招聘Python工程师标准>>> 本文分为3个模块. 示例---该指令的示例 解释---为指令不好理解的地方 练习---为了更熟悉该指令 1.1 有符号除法指令 ...

最新文章

  1. UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...
  2. 冯·诺伊曼奖得主Jorge Nocedal:增强学习中零阶优化方法及其应用(附演讲视频和PPT)
  3. 深度学习贝叶斯,这是一份密集的6天速成课程(附视频与PPT)
  4. java内存泄露分析方案
  5. 全球及中国昆虫类宠物食品行业竞争潜力与盈利价值分析报告2022版
  6. 1013 Battle Over Cities
  7. Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法。
  8. 复练-软考网规-虚拟化专题
  9. VFIO - 将 DMA 映射暴露给用户态
  10. hadoop第一个例子
  11. 给Java程序员的一些面试建议,大厂面试题汇总
  12. HTTP method POST is not supported by this URL解决方案
  13. 如何将内网ip映射到外网
  14. 360手柄摇杆漂移修复_「超逸酷玩」电脑游戏还用在用键盘?不妨试试斯巴达2手柄无线版...
  15. 元素周期表排列的规律_化学元素周期表的规律 元素周期表的规律
  16. 嗨,你真的懂this吗? 1
  17. python100内的质数_python输出100以内的质数与合数实例代码
  18. 这是浙江大学郑强教授的经典语录 虽然我不完全赞同但对他的精神佩服的五体投地...
  19. 51Talk-Level 7 Unit 1 L2
  20. Matrix Derivation

热门文章

  1. ionic3 前台时间戳转化成日期问题
  2. android gps导航省电,一种GPS导航中省电的系统和方法与流程
  3. eclipse插件开发(一) 简易4页签编辑器(源码 | 设计 | JS | CSS)
  4. ajax php 返回值 数组,ajax 返回数组怎么解决???
  5. mysql 复制 错误_Mysql复制错误error
  6. JS 打印 data数据_小程序导出数据到excel表
  7. c语言自动突破,为你解决c语言源代码【突破方案】
  8. java 往excel中写数据库,poi将数据写入excel表格-怎么用java把数据库里的数据写入到excel表中...
  9. wps如何保存最终状态_怎么让word显示最终状态
  10. zabbix前端php界面,Zabbix前端插件zatree在Zabbix 2.2.1前端报错的解决方案