Python 两个具有不等行和列的二维numpy数组的交点
我有两个数组,一个是形状(455,98),另一个是形状(182472)。几何描述如附图所示。有没有类似蟒蛇的方法?我也很高兴收到关于如何编写函数来实现这一点的指导Python 两个具有不等行和列的二维numpy数组的交点,python,arrays,numpy,indexing,intersection,Python,Arrays,Numpy,Indexing,Intersection,我有两个数组,一个是形状(455,98),另一个是形状(182472)。几何描述如附图所示。有没有类似蟒蛇的方法?我也很高兴收到关于如何编写函数来实现这一点的指导 不知道我是否完全理解了你的问题。但是,此代码将添加交叉点内a和b阵列中的数字 import numpy as np a = np.ones((455,98)) b = np.ones((182,472)) c = a[:b.shape[0], :a.shape[1]] + b[:b.shape[0], :a.shape[1]]
不知道我是否完全理解了你的问题。但是,此代码将添加交叉点内
a
和b
阵列中的数字
import numpy as np
a = np.ones((455,98))
b = np.ones((182,472))
c = a[:b.shape[0], :a.shape[1]] + b[:b.shape[0], :a.shape[1]]
print(c)
print(c.shape)
也可以使用类似于:
c = np.dstack((a[:b.shape[0], :a.shape[1]], b[:b.shape[0], :a.shape[1]]))
从每个数组中检索两个元素。顺便说一句,它可以表示得更短为
c=a[:b.shape[0],:]+b[:,:a.shape[1]
也要严格控制与a
的图片相交,而不是取a
的最后一行。也就是说,正确的方法是c=a[max(0,a.shape[0]-b.shape[0]):,:]+b[:,:a.shape[1]
。如果您提供两种不同的解决方案(上排和下排),那就太好了。编辑:非常抱歉,我的问题缺少关键信息。我想将相交区域中的值提取为一个新数组,数组C。我终于在这里找到了问题的解决方案: