NumPy 中的 numpy.ldexp() 函数
要逐元素返回 **x1 * 2**x2**,请在 Python NumPy 中使用 **numpy.ldexp()** 方法。第一个参数 X1 是乘数数组。第二个参数 X2 是 2 的指数数组。如果 x1.shape != x2.shape,则它们必须可广播到公共形状(这将成为输出的形状)。
out 是结果存储到的位置。如果提供,则其形状必须与输入广播到的形状相同。如果不提供或为 None,则返回一个新分配的数组。元组(仅作为关键字参数可能)的长度必须等于输出的数量。
条件在输入上广播。在条件为 True 的位置,out 数组将设置为 ufunc 结果。在其他地方,out 数组将保留其原始值。请注意,如果通过默认的 out=None 创建未初始化的 out 数组,则其中条件为 False 的位置将保持未初始化状态。
步骤
首先,导入所需的库:
import numpy as np
要逐元素返回 x1 * 2**x2,请在 Python NumPy 中使用 numpy.ldexp() 方法。
检查浮点数:
print("Result? ", np.ldexp(5.6, np.arange(3)))
检查负浮点数:
print("Result? ", np.ldexp(-7.5, np.arange(3)))
检查整数:
print("Result? ", np.ldexp(9, np.arange(3)))
检查负整数:
print("Result? ", np.ldexp(106, np.arange(3)))
检查 NaN:
print("Result? ", np.ldexp(np.nan, np.arange(3)))
检查无穷大:
print("Result? ", np.ldexp(np.inf, np.arange(3)))
示例
import numpy as np # To return the x1 * 2**x2, element-wise, use the numpy.ldexp() method in Python Numpy # The 1st parameter X1 is the array of multipliers. # The 2nd parameter X2 is the array of twos exponents. # If x1.shape != x2.shape, they must be broadcastable to a common shape (which becomes the shape of the output). # Check for float print("Result? ", np.ldexp(5.6, np.arange(3))) # Check for negative float print("Result? ", np.ldexp(-7.5, np.arange(3))) # Check for int print("Result? ", np.ldexp(9, np.arange(3))) # Check for negative int print("Result? ", np.ldexp(106, np.arange(3))) # Check for nan print("Result? ", np.ldexp(np.nan, np.arange(3))) # Check for inf print("Result? ", np.ldexp(np.inf, np.arange(3))) # Checking for log print("Result? ", np.ldexp(np.log(1), np.arange(3)))
输出
Result? [ 5.6 11.2 22.4] Result? [ -7.5 -15. -30. ] Result? [ 9. 18. 36.] Result? [106. 212. 424.] Result? [nan nan nan] Result? [inf inf inf] Result? [0. 0. 0.]
广告