Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从Numpy中的2个向量形成矩阵,重复1个向量_Python_Arrays_Numpy_Matrix - Fatal编程技术网

Python 从Numpy中的2个向量形成矩阵,重复1个向量

Python 从Numpy中的2个向量形成矩阵,重复1个向量,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,使用numpy阵列,我希望以最经济的方式创建这样一个矩阵: 给定 应加工成矩阵M: M = array([[a1,a2,b1,...,an], ... ..., [a1,a2,bm,...,an]] 我知道numpy阵列的广播方法,但找不到一个好方法。 任何帮助都将不胜感激 干杯, Rob您可以结合使用numpy.tile和numpy.hstack功能 M = numpy.repeat(numpy.hstack(a, b), (N

使用numpy阵列,我希望以最经济的方式创建这样一个矩阵: 给定

应加工成矩阵M:

M = array([[a1,a2,b1,...,an],
           ...           ...,
           [a1,a2,bm,...,an]]
我知道numpy阵列的广播方法,但找不到一个好方法。 任何帮助都将不胜感激

干杯,
Rob

您可以结合使用
numpy.tile
numpy.hstack
功能

M = numpy.repeat(numpy.hstack(a, b), (N,1))
不过,我不确定我是否理解您的目标矩阵。

您可以先在
a
上使用,然后在重新调整大小的阵列上使用
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]])  

因此,
b
的一个元素被插入到矩阵中,作为
a
的每个副本的第三个元素?是的,如果a=(1,2,3)和b=(4,5),那么假设我希望b在第三列,我的M=[[1,2,4,3],[1,2,5,3]]非常感谢!工作起来很有魅力。
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]])