Формирование матрицы из 2 векторов в Numpy с повторением 1 вектора

С помощью массивов 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, но не мог понять, как это сделать. Любая помощь приветствуется,

приветствия, Роб

Вы можете использовать numpy.resize a первом, а затем добавить элементы b в требуемые индексы, используя numpy.insert в массиве re-size:

 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]]) 

Вы можете использовать комбинацию функций numpy.tile и numpy.hstack .

 M = numpy.repeat(numpy.hstack(a, b), (N,1)) 

Я не уверен, что понимаю вашу целевую матрицу.