Skip to main content
 首页 » 编程设计

python之通过 fromfunction 错误创建 NumPy

2025年05月04日17wuhuacong

代码:

n=3 
x=np.fromfunction(lambda i,j: (i==1)and(j==1), (n,n), dtype=int) 

导致“ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()”

有什么问题?

请您参考如下方法:

文档具有误导性。该函数不会用每个单独的单元格的索引重复调用;它被调用一次,索引数组一次表示所有单元格的索引。直接返回这一次函数调用的返回值:

>>> numpy.fromfunction(lambda *args: 1, (2, 2)) 
1 
>>> numpy.fromfunction(lambda *args: args, (2, 2)) 
(array([[ 0.,  0.], 
       [ 1.,  1.]]), array([[ 0.,  1.], 
       [ 0.,  1.]])) 

您需要更改您的函数才能以这种方式运行:

lambda i, j: (i==1) & (j==1) 
#                   ^ elementwise bitwise and