您的问题很难理解,因为它包含无关的信息并且包含错别字。如果我理解正确,您只是想要一种有效的方法来对2D数组的行执行设置 *** 作(在这种情况下,是
K和的交集
f(K))。
如果创建结构化数组视图,则可以使用numpy.in1d执行此 *** 作。
码:
如果是这样的话
K:
In [50]: kOut[50]:array([[6, 6], [3, 7], [7, 5], [7, 3], [1, 3], [1, 5], [7, 6], [3, 8], [6, 1], [6, 0]])
这是
f(K)(对于此示例,我从第一个列中减去1,然后在第二个列中添加1):
In [51]: k2Out[51]:array([[5, 7], [2, 8], [6, 6], [6, 4], [0, 4], [0, 6], [6, 7], [2, 9], [5, 2], [5, 1]])
那么您可以通过执行以下 *** 作找到
K也在中找到的所有行
f(K):
In [55]: k[np.in1d(k.view(dtype='i,i').reshape(k.shape[0]),k2.view(dtype='i,i').reshape(k2.shape[0]))]Out[55]: array([[6, 6]])
view并
reshape创建平面结构的视图,以便每行都作为单个元素出现
in1d。
in1d创建一个
k匹配项的布尔索引,该索引用于查找索引
k并返回过滤后的数组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)