合并numpy数组,而不会丢失重复的条目或与任何其他元素没有交集的条目

avkwfej4  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(67)

我有两个numpy数组,想在左索引-1和右索引0的交集上将它们合并。
给定

a = [
[1, 3],
[1, 9],
[2, 3],
[8, 9],
[8, 12]
]

and b = [
[3, 11],
[12, 13],
[12, 14],
[9, 11],
[9, 13],
[11, 14]
]

我希望输出一个组合数组

c = [
 [1, 3, 11],
 [1, 9, 11],
 [1, 9, 13],
 [2, 3, 11],
 [8, 9, 11],
 [8, 9, 13],
 [8, 12, 13],
 [8, 12, 14],
 NAN, 11, 14],
]

我尝试使用pandas与join,concat和merge,也许我没有传递正确的args,但输出不是我想要的,特别是当ab完全不相交时。

uz75evzq

uz75evzq1#

使用pandasmerge

pd.DataFrame(a).merge(pd.DataFrame(b, columns=[1, 2]), on=1, how='outer').to_numpy()

输出量:

array([[ 1.,  3., 11.],
       [ 2.,  3., 11.],
       [ 1.,  9., 11.],
       [ 1.,  9., 13.],
       [ 8.,  9., 11.],
       [ 8.,  9., 13.],
       [ 8., 12., 13.],
       [ 8., 12., 14.],
       [nan, 11., 14.]])

相关问题