Python Pandas - 计算两个 Index 对象的对称差异并对结果进行排序
要计算两个Index对象的对称差异并取消对结果的排序,请使用symmetric_difference()Pandas中的方法。要取消排序,请使用sort参数并设置为False。
首先,导入所需的库-
import pandas as pd
创建两个Pandas索引-
index1 = pd.Index([50, 30, 20, 40, 10]) index2 = pd.Index([40, 10, 60, 20, 55])
显示Pandasindex1和index2-
print("Pandas Index1...\n",index1) print("Pandas Index2...\n",index2)
执行对称差分。使用值为False的“sort”参数取消对结果的排序-
res = index1.symmetric_difference(index2, sort=False)
示例
以下是代码-
import pandas as pd #创建两个Pandas索引 index1 = pd.Index([50, 30, 20, 40, 10]) index2 = pd.Index([40, 10, 60, 20, 55]) #显示Pandasindex1和index2 print("Pandas Index1...\n",index1) print("Pandas Index2...\n",index2) #返回Index1和Index2中元素的数量 print("\nNumber of elements in index1...\n",index1.size) print("\nNumber of elements in index2...\n",index2.size) #执行对称差分 # Unsort the result using the "sort" parameter res = index1.symmetric_difference(index2, sort=False) #两个指标的对称差异 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')