Python Pandas – 计算两个 Index 对象的对称差并取消排序结果
要计算两个 Index 对象的对称差并取消排序结果,请使用 Pandas 中的 symmetric_difference() 方法。要取消排序,请使用 sort 参数,并将其设置为 False。
首先,导入所需的库 –
import pandas as pd
创建两个 Pandas index –
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)
进行对称差计算。使用“sort”参数,值为False,取消排序 –
res = index1.symmetric_difference(index2, sort=False)
示例
以下是代码 –
import pandas as pd
# 创建两个 Pandas index
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)
# 返回 Index1 和 Index2 中元素的数量
print("\nIndex1 中元素的数量...\n",index1.size)
print("\nIndex2 中元素的数量...\n",index2.size)
# 进行对称差计算
# 使用“sort”参数,取消排序
res = index1.symmetric_difference(index2, sort=False)
# 两个索引的对称差
print("\n索引1和索引2的对称差,未排序结果...\n",res)
输出
这将产生以下输出 –
Pandas Index1...
Int64Index([50, 30, 20, 40, 10], dtype='int64')
Pandas Index2...
Int64Index([40, 10, 60, 20, 55], dtype='int64')
Index1 中元素的数量...
5
Index2 中元素的数量...
5
索引1和索引2的对称差,未排序结果...
Int64Index([50, 30, 60, 55], dtype='int64')
极客教程