使用函数遍历 NumPy 中的每个坐标构建数组


要通过执行函数遍历每个坐标来构建数组,请在 Python NumPy 中使用 **numpy.fromfunction()** 方法。该函数使用 N 个参数调用,其中 N 是形状的秩。每个参数表示沿特定轴变化的数组的坐标。例如,如果形状为 (2, 2),则参数将为 array([[0, 0], [1, 1]]) 和 array([[0, 1], [0, 1]])

fromfunction() 返回对函数的调用的结果,并直接将其传递回。因此,fromfunction 的形状完全由函数决定。如果函数返回标量值,则 fromfunction 的形状将与 shape 参数不匹配。

步骤

首先,导入所需的库 -

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

# To construct an array by executing a function over each coordinate, use the numpy.fromfunction() method in Python Numpy
print("Result
",np.fromfunction(lambda a, b: a, (3, 3), dtype=float)) print("
Result
",np.fromfunction(lambda a, b: b, (3, 3), dtype=float)) # Checking for array elements equality print("
Result
",np.fromfunction(lambda a, b: a == b, (4, 4), dtype=int)) # Adding elements print("
Result
",np.fromfunction(lambda a, b: a + b, (5, 5), dtype=int)) # Checking with greater than print("
Result
",np.fromfunction(lambda a, b: a > b, (5, 5), dtype=int)) # Checking with less than 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]]

更新于: 2022年2月10日

396 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告