基本算术运算符+、-和*隐式关联着通用函数add、subtract和multiply

在数组的除法运算中涉及三个通用函数divide、true_divide和floor_division,以及两个对应的运算符/和//

1. 数组的除法运算

import numpy as np

# divide函数在整数和浮点数除法中均只保留整数部分(python3中的np.divide == np.true_divide)

a = np.array([2,6,5])
b = np.array([1,2,3])
print (np.divide(a,b),np.divide(b,a))
# (array([2, 3, 1]), array([0, 0, 0]))

# true_divide函数与数学中的除法定义更为接近,即返回除法的浮点数结果而不作截断

print (np.true_divide(a,b),np.true_divide(b,a))
# (array([ 2. , 3. , 1.66666667]), array([ 0.5 , 0.33333333, 0.6 ]))

  

# floor_divide函数总是返回整数结果,相当于先调用divide函数再调用floor函数(floor函数将对浮点数进行向下取整并返回整数)

print (np.floor_divide(a,b),np.floor_divide(b,a))
# [2 3 1] [0 0 0]
c = 3.14 * b
print (np.floor_divide(c,b),np.floor_divide(b,c))
# [ 3. 3. 3.] [ 0. 0. 0.]

  

# /运算符相当于调用divide函数

print (a/b,b/a)
# (array([2, 3, 1]), array([0, 0, 0]))

  

# 运算符//对应于floor_divide函数

print (a//b,b//a)
# [2 3 1] [0 0 0]
print (c//b,b//c)
# [ 3. 3. 3.] [ 0. 0. 0.]

  

2. 模运算
# 计算模数或者余数,可以使用NumPy中的mod、remainder和fmod函数。也可以用%运算符

import numpy as np

# remainder函数逐个返回两个数组中元素相除后的余数

d = np.arange(-4,4)
print (np.remainder(d,2))
# [0 1 0 1 0 1 0 1]

  

# mod函数与remainder函数的功能完全一致

print (np.mod(d,2))
# [0 1 0 1 0 1 0 1]

  

# %操作符仅仅是remainder函数的简写(功能一样)

print ( d % 2 )
# [0 1 0 1 0 1 0 1]

  

# fmod函数处理负数的方式与remainder、mod和%不同。所得余数的正负由被除数决定,与除数的正负无关

print (np.fmod(d,2))
# [ 0 -1 0 -1 0 1 0 1]

  

Numpy 基本除法运算和模运算的更多相关文章

  1. Divide two numbers,两数相除求商,不能用乘法,除法,取模运算

    问题描述:求商,不能用乘法,除法,取模运算. 算法思路:不能用除法,那只能用减法,但是用减法,超时.可以用位移运算,每次除数左移,相当于2倍. public class DividTwoInteger ...

  2. java 取模运算% 实则取余 简述 例子 应用在数据库分库分表

    java 取模运算%  实则取余 简述 例子 应用在数据库分库分表 取模运算 求模运算与求余运算不同.“模”是“Mod”的音译,模运算多应用于程序编写中. Mod的含义为求余.模运算在数论和程序设计中 ...

  3. Java中"或"运算与"与"运算快慢的三三两两

    先上结论 模运算比与运算慢20%到30% 这是通过实验的方式得到的结论.因为没有大大可以进行明确指导,所以我以最终运行的结果为准.欢迎指正. 测试代码 @Test public void test10 ...

  4. python负数除法与模运算

    1.负数除法: >>> print 45/76>>> print -45/7-7 >>> print 45/-7-7 >>> p ...

  5. 数论 : 模运算法则(poj 1152)

    题目:An Easy Problem! 题意:求给出数的最小进制. 思路:暴力WA: discuss中的idea: 给出数ABCD,若存在n 满足 (A* n^3 +B*n^2+C*n^1+D*n^0 ...

  6. (二)初识NumPy库(数组的操作和运算)

    本章主要介绍的是ndarray数组的操作和运算! 一. ndarray数组的操作: 操作是指对数组的索引和切片.索引是指获取数组中特定位置元素的过程:切片是指获取数组中元素子集的过程. 1.一维数组的 ...

  7. mysql中的优化, 简单的说了一下垂直分表, 水平分表(有几种模运算),读写分离.

    一.mysql中的优化 where语句的优化 1.尽量避免在 where 子句中对字段进行表达式操作select id from uinfo_jifen where jifen/60 > 100 ...

  8. poj 3980 取模运算

    取模运算 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10931   Accepted: 6618 Description ...

  9. c++ 模运算

    在数学里,"模运算"也叫"求余运算",用mod来表示模运算. 对于 a mod b 可以表示为 a = q(商)*b(模数) + r(余数),其中q表示商,b表 ...

随机推荐

  1. unix下命令窗分屏工具

    运行 sudo apt-get install terminator 效果 新建分屏窗口:右键鼠标选择

  2. 每周工作4小时,蒂莫西·费里斯 最理想的工作方式和生活方式,QQ群666243547

    内容简介  · · · · · · <每周工作4小时>是一本从观念到行为,彻底改变你的工作方式和生活方式的书.它既是数字时代的职场励志书和创业指导书,也是新新人类的全球化生存手册和人生哲学 ...

  3. [sh]md5sum接变量,find排除,sh判断文件存在

    1.md5sum md5sum `cat path_to_file|dos2unix` 注: 发现有些linux是gbk编码, 导致md5或ls 接变量后报错.需要dos2unix处理 2.find排 ...

  4. Linux下的python等操作【转载】

    转自:https://blog.csdn.net/healthy_coder/article/details/50546384 https://blog.csdn.net/boyun58/articl ...

  5. k8s pv 的三种挂载模式

    ReadWriteOnce:可读可写,只能被一个Node节点挂载 ReadWriteMany:可读可写,可以被多个Node节点挂载 ReadOnlyMany:只读,能被多个Node节点挂载

  6. java框架常见的面试题

    1.谈谈你对MVC的理解 MVC是Model—View—Controler的简称.即模型—视图—控制器.MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开. MVC中的模型.视图.控制器 ...

  7. 基于Jenkins的持续交付方案

    简介 Jenkins是开源的自动化编译.测试.部署的Web应用程序一个持续性交付应用 Jenkins的优势 1.Jenkins在国内的开发者中认可度较高,很多创业公司的自建持续交付系统的选择大部分都是 ...

  8. gedit 没有preference项,使preference回归,并用命令行设置行号,解决centos7下中文乱码,text wrapping等问题

    1. 最简单的,使preference选项回来: gsettings set org.gnome.settings-daemon.plugins.xsettings overrides '@a{sv} ...

  9. ios UrlEncode与UrlDecode

    url字符串中具有特殊功能的特殊字符的字符串,或者中文字符,作为参数用GET方式传递时,需要用urlencode处理一下.当然,有时作为Post参数传递,也需要urlencode处理一下. NSStr ...

  10. javascript获取style兼容性问题

    获取css 样式的方法有三种 : style, currentStyle , getComputedStyle style (无兼容性问题) 获取语法: ele.style.attr : 设置语法:e ...