pandas.Index.union#

final Index.union(other, sort=None)[源代码][源代码]#

形成两个索引对象的并集。

如果索引对象不兼容,两个索引对象将首先被转换为 dtype(‘object’)。

参数:
其他索引或类似数组

索引或包含元素的类数组对象,这些元素与原始索引形成并集。

排序布尔值或无,默认无

是否对生成的索引进行排序。

  • None : 对结果进行排序,除非

    1. selfother 是相等的。

    2. selfother 的长度为0。

    3. selfother 中的一些值无法比较。在这种情况下会发出一个 RuntimeWarning。

  • False : 不要对结果进行排序。

  • True : 对结果进行排序(可能会引发 TypeError)。

返回:
索引

返回一个新的索引对象,包含原始索引和 other 索引中的所有唯一元素。

参见

Index.unique

返回索引中的唯一值。

Index.intersection

形成两个索引对象的交集。

Index.difference

返回一个新的索引,其中包含在索引中但不在 other 中的元素。

例子

联合匹配数据类型

>>> idx1 = pd.Index([1, 2, 3, 4])
>>> idx2 = pd.Index([3, 4, 5, 6])
>>> idx1.union(idx2)
Index([1, 2, 3, 4, 5, 6], dtype='int64')

联合不匹配的数据类型

>>> idx1 = pd.Index(["a", "b", "c", "d"])
>>> idx2 = pd.Index([1, 2, 3, 4])
>>> idx1.union(idx2)
Index(['a', 'b', 'c', 'd', 1, 2, 3, 4], dtype='object')

MultiIndex 案例

>>> idx1 = pd.MultiIndex.from_arrays(
...     [[1, 1, 2, 2], ["Red", "Blue", "Red", "Blue"]]
... )
>>> idx1
MultiIndex([(1,  'Red'),
    (1, 'Blue'),
    (2,  'Red'),
    (2, 'Blue')],
   )
>>> idx2 = pd.MultiIndex.from_arrays(
...     [[3, 3, 2, 2], ["Red", "Green", "Red", "Green"]]
... )
>>> idx2
MultiIndex([(3,   'Red'),
    (3, 'Green'),
    (2,   'Red'),
    (2, 'Green')],
   )
>>> idx1.union(idx2)
MultiIndex([(1,  'Blue'),
    (1,   'Red'),
    (2,  'Blue'),
    (2, 'Green'),
    (2,   'Red'),
    (3, 'Green'),
    (3,   'Red')],
   )
>>> idx1.union(idx2, sort=False)
MultiIndex([(1,   'Red'),
    (1,  'Blue'),
    (2,   'Red'),
    (2,  'Blue'),
    (3,   'Red'),
    (3, 'Green'),
    (2, 'Green')],
   )