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')
广告