我正在尝试pyfits
通过 OBJNO(对象编号)列匹配两个数据对象。在 IDL 中,这是通过match, A.objno, B.objno, ii, jj
过程完成的。这将返回两个索引ii
和jj
哪个索引A
和B
这样的A[ii].objno == B[ii].objno
。
有没有一种 numpy/pythonic 的方式来做到这一点?我不想对任何一个的订购或尺寸做出任何规定,A
或者B
因为它们可能是大尺寸的桌子。这就是我现在正在做的事情:
ii = np.in1d(A.OBJNO, B.OBJNO).nonzero()[0]
jj = [np.where(B.OBJNO == objno)[0][0] for objno in A[ii].field('OBJNO')]
有没有更好的 numpy 数组匹配算法?