数组的算数运算

我怕爱的太早我们不能终老 提交于 2019-11-28 06:37:22

除法

Key_Function

np.divide方法, 返回带小数位的结果

np.true_divide方法, 返回带小数位的结果

np.floor_divide方法, 返回只有整数位的结果

/ 运算符, 返回带小数位的结果

// 运算符, 返回只有整数位的结果

import numpy as np

a = np.array([2, 6, 5])
b = np.array([1, 2, 3])
print(np.divide(b, a))
# [ 0.5         0.33333333  0.6       ]
print(np.divide(a, b))
# [ 2.          3.          1.66666667]

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

print(np.floor_divide(b, a))    # np.floor_divide总是返回整数部分
# [0 0 0]
print(np.floor_divide(a, b))    # np.floor_divide总是返回整数部分
# [2 3 1]

print(b / a)
# [ 0.5         0.33333333  0.6       ]
print(a / b)
# [ 2.          3.          1.66666667]

print(b // a)   # 对应floor_divide
# [0 0 0]
print(a // b)
# [2 3 1]

 

模运算

模运算就是取余数

Key_Function

np.remainder函数, 逐个返回两个数组中元素相除后的余数, 如果第二个参数为0, 则直接返回0

np.mod函数,  与remainder函数功能完全一致

% 运算符, 是np.remainder的简写

np.fmod函数, 所得余数的正负由被除数决定, 与除数无关  

Code

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

print(np.remainder(a, 2))   # remainder函数逐个返回两个数组中元素相除后的余数
# [0 1 0 1 0 1 0 1]

print(np.mod(a, 2))     # mod函数与remainder函数功能完全一致
# [0 1 0 1 0 1 0 1]

print(a % 2)
# [0 1 0 1 0 1 0 1]     # % 是remainder的简写

print(np.fmod(a, 2))    # 所得余数的正负由被除数决定, 与除数的正负无关 
# [ 0 -1  0 -1  0  1  0  1]

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!