Python Numpy,按不同顺序复制数据
例如,我有数据Python Numpy,按不同顺序复制数据,python,numpy,Python,Numpy,例如,我有数据 >>> a = np.array([1, 2, 3, 4]) >>> b = np.array([3, 4, 5, 6]) 我想将每个向量中的每个项复制为向量长度的值。因此,结果是可以预测的 >>> a2 = np.array([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4]) >>> b2 = np.array([3, 4, 5, 6, 3, 4, 5, 6
>>> a = np.array([1, 2, 3, 4])
>>> b = np.array([3, 4, 5, 6])
我想将每个向量中的每个项复制为向量长度的值。因此,结果是可以预测的
>>> a2 = np.array([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4])
>>> b2 = np.array([3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6])
使用
np.tile(b,len(b))
可以输出b2
。但是,如何获得a2
?这两个复制有点不同。第一个可通过以下方式获得:
第二个带有:
使用
np.meshgrid
A,B = map(np.ravel,np.meshgrid(a,b,indexing='ij'))
A
# array([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4])
B
# array([3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6])
>>> np.tile(b, len(b))
array([3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6])
A,B = map(np.ravel,np.meshgrid(a,b,indexing='ij'))
A
# array([1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4])
B
# array([3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6, 3, 4, 5, 6])