Python 从行向量和列向量numpy生成矩阵
我有两个numpy阵列:Python 从行向量和列向量numpy生成矩阵,python,numpy,Python,Numpy,我有两个numpy阵列: a = [ (0,0,255), (0,0,0), (0,255,0), (255,0,0) ] b = [ (0,0,255), (0,0,0), (0,255,0), (255,0,0) ] 如何使用numpy获得以下矩阵: [ [ (0,0,255), (0,0,255), (0,0,0), (0,255,0), (255,0,0) ],
a = [ (0,0,255), (0,0,0), (0,255,0), (255,0,0) ]
b = [
(0,0,255),
(0,0,0),
(0,255,0),
(255,0,0)
]
如何使用numpy获得以下矩阵:
[
[ (0,0,255), (0,0,255), (0,0,0), (0,255,0), (255,0,0) ],
[ (0,0,0), (0,0,255), (0,0,0), (0,255,0), (255,0,0) ],
[ (0,255,0), (0,0,255), (0,0,0), (0,255,0), (255,0,0) ],
[ (255,0,0), (0,0,255), (0,0,0), (0,255,0), (255,0,0) ]
]
我正在尝试对图像中的所有像素进行成对像素比较。简单的pythonic方法:
z = [[i] + a for i in b]
下面是使用
numpy
In []: a = np.asarray([ (0,0,255), (0,0,0), (0,255,0), (255,0,0) ])
In []: b= np.asarray([(0,0,255), (0,0,0), (0,255,0), (255,0,0)])
In []: np.array([np.vstack((a[i],b)) for i,v in enumerate(a)])
Out[]:
array([[[ 0, 0, 255],
[ 0, 0, 255],
[ 0, 0, 0],
[ 0, 255, 0],
[255, 0, 0]],
[[ 0, 0, 0],
[ 0, 0, 255],
[ 0, 0, 0],
[ 0, 255, 0],
[255, 0, 0]],
[[ 0, 255, 0],
[ 0, 0, 255],
[ 0, 0, 0],
[ 0, 255, 0],
[255, 0, 0]],
[[255, 0, 0],
[ 0, 0, 255],
[ 0, 0, 0],
[ 0, 255, 0],
[255, 0, 0]]])
为什么第二个轴的长度是
5
?那么,a等于b?有什么问题吗?