Python Pandas——计算两个索引对象的对称差集,并且不排序结果


要计算两个索引对象的对称差集,并且不排序结果,请在 Pandas 中使用symmetric_difference() 方法。要取消排序,请使用 sort 参数,并将其设置为 False

首先,导入所需的库 −

import pandas as pd

创建两个 Pandas 索引 −

index1 = pd.Index([50, 30, 20, 40, 10])
index2 = pd.Index([40, 10, 60, 20, 55])

显示 Pandas index1 和 index2 −

print("Pandas Index1...\n",index1)
print("Pandas Index2...\n",index2)

执行对称差集运算。使用值为 False 的 "sort" 参数取消对结果的排序 −

res = index1.symmetric_difference(index2, sort=False)

示例

以下是代码 −

import pandas as pd

# Creating two Pandas index
index1 = pd.Index([50, 30, 20, 40, 10])
index2 = pd.Index([40, 10, 60, 20, 55])

# Display the Pandas index1 and index2
print("Pandas Index1...\n",index1)
print("Pandas Index2...\n",index2)

# Return the number of elements in Index1 and Index2
print("\nNumber of elements in index1...\n",index1.size)
print("\nNumber of elements in index2...\n",index2.size)

# Perform symmetric difference
# Unsort the result using the "sort" parameter
res = index1.symmetric_difference(index2, sort=False)

# Symmetric difference of both the indexes
print("\nThe index1 and index2 symmetric difference with unsorted result...\n",res)

输出

这会生成以下输出 −

Pandas Index1...
Int64Index([50, 30, 20, 40, 10], dtype='int64')
Pandas Index2...
Int64Index([40, 10, 60, 20, 55], dtype='int64')

Number of elements in index1...
5

Number of elements in index2...
5

The index1 and index2 symmetric difference with unsorted result...
Int64Index([50, 30, 60, 55], dtype='int64')

更新于: 14-Oct-2021

145 次浏览

开启您的 职业

完成课程后获得认证

开始
广告