Numpy 基本除法运算和模运算

摘要:
您还可以使用%operatorimportnumpyasnp#remind函数,在将两个数组中的元素逐一除后返回余数,d=np.arangeprint#[00101010101]#mod函数,reminderprint#[0101101]#%运算符的函数只是reminderprint(d%2)#[0101010101]#的缩写,fmod函数以不同于余数、mod和%的方式处理负数。所得余数的正或负由被除数决定,独立于除数打印号[0-10-10101]的正或负号

基本算术运算符+、-和*隐式关联着通用函数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 基本除法运算和模运算》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转】C# WinForm中的Label如何换行bootstrap-table 使用遇到的问题总结下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ParseCrontab类,解析时间规则

<?php /** * Created by PhpStorm. * User: ClownFish 187231450@qq.com * Date: 14-12-27 * Time: 上午11:59 */ class ParseCrontab { static public $error; /** * 解析...

shell脚本基本语法

以下是初学shell脚本练习过程,涉及到内容的输出、基本的计算、条件判断(if、case)、循环控制、数组的定义和使用、函数定义和使用 shell脚本内容: #! /bin/bashecho "current sh file name $0 ${0} $0_file"echo $$ #加乘除运算value=`expr 2 + 2`echo "total v...

[ZZ] NumPy 处理数据

NumPy-快速处理数据--ndarray对象--数组的创建和存取https://www.cnblogs.com/moon1992/p/4946114.html NumPy-快速处理数据--ndarray对象--数组的创建和存取  本文摘自《用Python做科学计算》,版权归原作者所有。 NumPy为Python提供了快速的多维数组处理的能力,而SciP...

X++中的数组

最近跟数组打交道必较多,期间遇到了一些问题,在这里做一下总结.X++中的数组分为两类:基础类型和AFC中的Array,区别在于前者只能存放X++基础类型(比如int,real)而不能存放class对象和Table,本文只讨论前者.这里只叙述跟C#中不同的部分:1.只支持一维数组;不支持多维数组也没办法,只能说是编译器限制.2.定义分为dynamic, fi...

Perl之哈希与列表

[自用] 先引用一段话来简单介绍为什么用‘引用’以及什么是‘引用’: “当Perl进化到Perl 5时,我们必须考虑到哈希原来的设计:哈希的键值必须是标量, 一个'引用'就是一个指向一个完整列表或完整哈希(或指向其他的东西,比如函数)的标量值。Perl中的'引用'就像列表和哈希的名字。它们是Perl中私有的,内部的名字,所以你可以确信它们是明确的,...

(4)Numpy+矩阵计算+和生成

(4)Numpy 矩阵计算 和生成 In [1]: import numpy   1.创建一个矩阵¶ In [3]: vector=numpy.array([1,2,3,4,5,6]) print(vector)   [1 2 3 4 5 6]   2.创建多维矩阵——常用最大值最小值函数¶ In [5]: vect...