Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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数组的交点_Python_Arrays_Numpy_Indexing_Intersection - Fatal编程技术网

Python 两个具有不等行和列的二维numpy数组的交点

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

我有两个数组,一个是形状(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]]

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。我终于在这里找到了问题的解决方案: