通过在 Numpy 中对每个坐标执行函数来构造数组
numpyserver side programmingprogramming
要通过对每个坐标执行函数来构造数组,请使用 Python Numpy 中的 numpy.fromfunction() 方法。该函数使用 N 个参数调用,其中 N 是形状的阶。每个参数表示数组沿特定轴变化的坐标。例如,如果形状为 (2, 2),则参数将是 array([[0, 0], [1, 1]]) 和 array([[0, 1], [0, 1]])
fromfunction() 返回对函数的调用的结果,并直接传回。因此,fromfunction 的形状完全由函数决定。如果函数返回标量值,则 fromfunction 的形状与形状参数不匹配。
步骤
首先,导入所需的库 −
import numpy as np
要通过在每个坐标上执行函数来构造数组,请使用 Python Numpy 中的 numpy.fromfunction() 方法 −
print("Result
",np.fromfunction(lambda a, b: a, (3, 3), dtype=float)) print("
Result
",np.fromfunction(lambda a, b: b, (3, 3), dtype=float))
检查数组元素相等性 −
print("
Result
",np.fromfunction(lambda a, b: a == b, (4, 4), dtype=int))
添加元素 −
print("
Result
",np.fromfunction(lambda a, b: a + b, (5, 5), dtype=int))
检查大于 −
print("
Result
",np.fromfunction(lambda a, b: a > b, (5, 5), dtype=int))
检查小于 −
print("
Result
",np.fromfunction(lambda a, b: a < b, (5, 5), dtype=int))
示例
import numpy as np # 要通过在每个坐标上执行函数来构造数组,请使用 Python Numpy 中的 numpy.fromfunction() 方法 print("Result
",np.fromfunction(lambda a, b: a, (3, 3), dtype=float)) print("
Result
",np.fromfunction(lambda a, b: b, (3, 3), dtype=float)) # 检查数组元素相等性 print("
Result
",np.fromfunction(lambda a, b: a == b, (4, 4), dtype=int)) # 添加元素 print("
Result
",np.fromfunction(lambda a, b: a + b, (5, 5), dtype=int)) # 检查大于 print("
Result
",np.fromfunction(lambda a, b: a > b, (5, 5), dtype=int)) # 检查小于 print("
Result
",np.fromfunction(lambda a, b: a < b, (5, 5), dtype=int))
输出
Result [[0. 0. 0.] [1. 1. 1.] [2. 2. 2.]] Result [[0. 1. 2.] [0. 1. 2.] [0. 1. 2.]] Result [[ True False False False] [False True False False] [False False True False] [False False False True]] Result [[0 1 2 3 4] [1 2 3 4 5] [2 3 4 5 6] [3 4 5 6 7] [4 5 6 7 8]] Result [[False False False False False] [ True False False False False] [ True True False False False] [ True True True False False] [ True True True True False]] Result [[False True True True True] [False False True True True] [False False False True True] [False False False False True] [False False False False False]]