当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark MultiIndex.symmetric_difference用法及代码示例


本文简要介绍 pyspark.pandas.MultiIndex.symmetric_difference 的用法。

用法:

MultiIndex.symmetric_difference(other: pyspark.pandas.indexes.base.Index, result_name: Optional[List[Union[Any, Tuple[Any, …]]]] = None, sort: Optional[bool] = None) → pyspark.pandas.indexes.multi.MultiIndex

计算两个 MultiIndex 对象的对称差。

参数

other索引或类似数组
result_name列表
sort真或无,默认无

是否对结果索引进行排序。 * True:尝试对结果进行排序。 * 无:不对结果进行排序。

返回

symmetric_differenceMiltiIndex

注意

symmetric_difference 包含出现在 idx1idx2 但不是同时出现的元素。相当于idx1.difference(idx2) | idx2.difference(idx1) 创建的索引,删除了重复项。

例子

>>> midx1 = pd.MultiIndex([['lama', 'cow', 'falcon'],
...                        ['speed', 'weight', 'length']],
...                       [[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                        [0, 0, 0, 0, 1, 2, 0, 1, 2]])
>>> midx2 = pd.MultiIndex([['pandas-on-Spark', 'cow', 'falcon'],
...                        ['speed', 'weight', 'length']],
...                       [[0, 0, 0, 1, 1, 1, 2, 2, 2],
...                        [0, 0, 0, 0, 1, 2, 0, 1, 2]])
>>> s1 = ps.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3],
...                index=midx1)
>>> s2 = ps.Series([45, 200, 1.2, 30, 250, 1.5, 320, 1, 0.3],
...              index=midx2)
>>> s1.index.symmetric_difference(s2.index)  
MultiIndex([('pandas-on-Spark', 'speed'),
            (  'lama', 'speed')],
           )

您可以设置结果索引的名称。

>>> s1.index.symmetric_difference(s2.index, result_name=['a', 'b'])  
MultiIndex([('pandas-on-Spark', 'speed'),
            (  'lama', 'speed')],
           names=['a', 'b'])

如果要对结果索引进行排序,可以将 sort 设置为 True

>>> s1.index.symmetric_difference(s2.index, sort=True)  
MultiIndex([('pandas-on-Spark', 'speed'),
            (  'lama', 'speed')],
           )

您还可以使用 ^ 运算符:

>>> s1.index ^ s2.index  
MultiIndex([('pandas-on-Spark', 'speed'),
            (  'lama', 'speed')],
           )

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.MultiIndex.symmetric_difference。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。