python

您所在的位置:网站首页 怎么对比列表两列内容一样 python

python

2024-01-20 12:58| 来源: 网络整理| 查看: 265

文章目录 1. 列表解决方法2. 集合解决方法2.1 找两列数据不同的元素(差集)2.2 找两列数据相同的元素(交集)2.3 找两列数据全部的元素(并集)

** 这个问题是在我做毕业论文期间,由于需要计算评估指标,要用到两个列表或dataframe中的两列的“你有而我没有”的数据来进行计算,所以参考了这个方法来实现。** ** 希望可以帮助到有需要的朋友解决相应的问题**

1. 列表解决方法

冲,举个例子,上代码:

recall_True = [x for x in range(10)] # 观看列表 recall_CF = [x for x in range(5,15)] # 预测列表 测试数据: recall_True [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] recall_CF [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

找出两列数据中相同和不同的元素

# 在观看列表而不在预测列表 False_rec = [x for x in recall_True if x not in recall_CF] # 在预测列表而不在观看列表 False_CF = [y for y in recall_CF if y not in recall_True]

结果展示

False_rec [0, 1, 2, 3, 4] False_CF [10, 11, 12, 13, 14] 2. 集合解决方法

[记于2021/12/22]

2.1 找两列数据不同的元素(差集)

理解完这个问题之后,其实就是要实现两个集合的差集,不是并集\交集; 原方法总的实例:

# 在A列表而不在B列表 InA_NotInB = list(set(A) - set(B)) # 在B列表而不在A列表 InB_NotInA = list(set(B) - set(A))

结果展示

InA_NotInB [0, 1, 2, 3, 4] InB_NotInA [10, 11, 12, 13, 14]

要实现的操作本质就是集合间的差集问题,可以找出A有的,B没有的数据,反之亦成立。

2.2 找两列数据相同的元素(交集) IntersectionSet = list(set(A) & set(B)) IntersectionSet [5, 6, 7, 8, 9] 2.3 找两列数据全部的元素(并集) unionSet= list(set(A) | set(B)) unionSet [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3