首页 > 解决方案 > Python:从函数和数组创建矩阵

问题描述

我确定以前有人问过这个问题,但我找不到解决方案(这个问题也必须有一个更好的标题——欢迎提出建议)。有没有更快的方法来做类似下面的事情?我想通过函数将数组元素映射到矩阵。

a = np.random.rand(100)
b = np.random.rand(100)
c = 5

matrix = np.zeros((100, 100))
for i in range(100):
    for j in range(100):
        matrix[i, j] = function(a[i], b[j], c)

我试过这个但不起作用:

matrix = np.fromfunction(lambda i, j: function(a[i], b[j], c), (100, 100), dtype=float) # Doesn't work

这也不是:

vfunction = np.vectorize(function)
matrix = vfunction(a, b, c) # Doesn't work

标签: pythonnumpy

解决方案


推荐阅读