我想使用 numpy 数组最经济地创建这样一个矩阵: 给出
from numpy import array
a = array(a1,a2,a3,...,an)
b = array(b1,...,bm)
应处理为矩阵M:
M = array([[a1,a2,b1,...,an],
... ...,
[a1,a2,bm,...,an]]
我知道 numpy array 的广播方法,但找不到好的方法。 任何帮助将不胜感激,
干杯, 罗布
最佳答案
您可以使用 numpy.resize
首先在 a
上,然后使用 numpy.insert
在所需索引处添加 b
的项目在调整大小的数组上:
In [101]: a = np.arange(1, 4)
In [102]: b = np.arange(4, 6)
In [103]: np.insert(np.resize(a, (b.shape[0], a.shape[0])), 2, b, axis=1)
Out[103]:
array([[1, 2, 4, 3],
[1, 2, 5, 3]])
关于python - 从 Numpy 中的 2 个向量形成矩阵,重复 1 个向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26472409/