📅  最后修改于: 2023-12-03 14:44:49.288000             🧑  作者: Mango
numpy.fromfunction()
函数可以从函数中构造数组。
numpy.fromfunction(function, shape, dtype=float, **kwargs)
参数说明:
function
:用于生成数组值的函数。shape
:数组的形状,整数或整数元组。dtype
:数组的数据类型。可选参数,默认为 float
。**kwargs
:传递给函数的额外参数。返回按照每个元素的坐标计算的数组值。
import numpy as np
def func(i, j):
return i + j
arr = np.fromfunction(func, (3, 3))
print(arr)
输出结果:
array([[0., 1., 2.],
[1., 2., 3.],
[2., 3., 4.]])
上面的代码中,我们定义了一个函数 func(i, j)
,该函数返回参数 i
和 j
的和。然后使用 np.fromfunction()
函数从 func
中生成一个形状为 (3, 3)
的数组 arr
。
输出结果表明,数组 arr
的每个元素都是其坐标的和,即第一行从 0 开始,第一列从 0 开始,每个元素为该行和该列的和。
np.fromfunction()
函数根据数组的形状 shape
和每个坐标的函数返回值 function()
构造数组,因此可以较快地生成较大的数组。
但是,当维度较高时,代码可能变得难以读取和理解。因此,对于小型数组,最好使用列表生成式或其他常规方法。