在 NumPy 中更改值的符号以与另一个值相同


要将一个值的符号更改为另一个值的符号,请在 Python NumPy 中使用 **numpy.copysign()** 方法。copysign() 的第一个参数是要更改其符号的值。第二个参数是要复制到第一个参数值的符号。

out 是将结果存储到的位置。如果提供,则其形状必须是输入广播到的形状。如果不提供或为 None,则返回一个新分配的数组。元组(仅可能作为关键字参数)的长度必须等于输出的数量。

条件在输入上广播。在条件为 True 的位置,out 数组将设置为 ufunc 结果。在其他地方,out 数组将保留其原始值。请注意,如果通过默认的 out=None 创建未初始化的 out 数组,则其中条件为 False 的位置将保持未初始化状态。

步骤

首先,导入所需的库:

import numpy as np

要将一个值的符号更改为另一个值的符号,请在 Python NumPy 中使用 numpy.copysign() 方法。检查整数:

print("Result? ", np.copysign(0, 1))
print("
Result? ", np.copysign(0, -1))

检查浮点数:

print("
Result? ", np.copysign(14., -1)) print("
Result? ", np.copysign(-3.6, 1))

检查 NaN:

print("
Result? ", np.copysign(np.nan, -1)) print("
Result? ", np.copysign(np.NAN, 1))

检查无穷大:

print("
Result? ", np.copysign(np.inf, -1)) print("
Result? ", np.copysign(np.NINF, -1))

检查对数:

print("
Result? ", np.copysign(np.log(1), 1)) print("
Result? ", np.copysign(np.log(2), -1))

示例

import numpy as np

# To change the sign of a value to that of another, use the numpy.copysign() method in Python Numpy
# The 1st parameter of the copysign() is the value to change the sign of.
# The 2nd parameter is the sign to be copied to 1st parameter value.
print("Result? ", np.copysign(0, 1))
print("
Result? ", np.copysign(0, -1)) # Checking for float print("
Result? ", np.copysign(14., -1)) print("
Result? ", np.copysign(-3.6, 1)) # Checking for NaN print("
Result? ", np.copysign(np.nan, -1)) print("
Result? ", np.copysign(np.NAN, 1)) # Checking for infinity print("
Result? ", np.copysign(np.inf, -1)) print("
Result? ", np.copysign(np.NINF, -1)) # Checking for log print("
Result? ", np.copysign(np.log(1), 1)) print("
Result? ", np.copysign(np.log(2), -1))

输出

Result? 0.0

Result? -0.0

Result? -14.0

Result? 3.6

Result? nan

Result? nan

Result? -inf

Result? -inf

Result? 0.0

Result? -0.6931471805599453

更新于:2022年2月8日

171 次查看

启动您的 职业生涯

完成课程获得认证

开始
广告