连接多索引Pandas Dataframe 列表

vmdwslir  于 2022-12-21  发布在  其他
关注(0)|答案(1)|浏览(140)

我有一个列表,其元素是MultiIndex对象,如下所示:

MultiIndex([(48, 39),
        (48, 40),
        (48, 41),
        (48, 42),
        (48, 43),
        (49, 39),
        (49, 40),
        (49, 41),
        (49, 42),
        (49, 43)],
       )
MultiIndex([(48, 48),
            (48, 49),
            (49, 48),
            (49, 49)],
           )

我想把它们垂直连接起来,这样我就有了:

MultiIndex([(48, 39),
            (48, 40),
            (48, 41),
            (48, 42),
            (48, 43),
            (49, 39),
            (49, 40),
            (49, 41),
            (49, 42),
            (49, 43),
            (48, 48),
            (48, 49),
            (49, 48),
            (49, 49)],
           )

如有可能,我还希望它:
1.仅包含唯一对(但a,b不同于b,a)
1.并且被排序(由于以48开始的两个对出现在以49开始的对之后,因此上述未被排序)。

uqxowvwt

uqxowvwt1#

可以使用Union方法连接两个MultiIndex对象,然后将sort设置为True以正确排序:

#m1 is the first object and m2 is the second
result = m1.union(m2, sort=True)

这将输出:

MultiIndex([(48, 39),
            (48, 40),
            (48, 41),
            (48, 42),
            (48, 43),
            (48, 48),
            (48, 49),
            (49, 39),
            (49, 40),
            (49, 41),
            (49, 42),
            (49, 43),
            (49, 48),
            (49, 49)],
           )

相关问题