【发布时间】:2015-10-21 16:06:08
【问题描述】:
让 A1 和 A2 是相同形状的 numpy 数组,例如 ((d1,d2))。我想从中构建 ((d1,d1)) 数组,以便通过将函数应用于元组 A1[i],A2[j] 来定义其第 [i,j] 个条目。我在表单中使用 np.fromfunction
f=lambda i,j: np.inner(A1[i],A2[j])
A=np.fromfunction(f, shape=(d1, d1))
(如Fastest way to initialize numpy array with values given by function 建议的那样)。
但是我收到错误“IndexError:用作索引的数组必须是整数(或布尔)类型”。这很奇怪,因为将 lambda 函数更改为例如
f=lambda i,j: i*j
工作正常!似乎在 lambda 函数中调用另一个函数会导致
出现问题np.fromfunction
(np.inner 只是一个示例,我希望能够用其他此类函数替换它)。
【问题讨论】:
标签: python numpy matrix multidimensional-array