當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。