Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
【摘要】
Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
目录
利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
输出结果
实现代码
利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
输出结果
parallel_match_r...
Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
目录
利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
输出结果
-
parallel_match_res:
-
col01 col02
-
11 12.0 NaN
-
12 13.0 NaN
-
13 14.0 NaN
-
14 NaN 15.0
-
15 NaN 16.0
-
16 NaN 17.0
-
cross_match_res01: [nan, nan, nan, 15.0, 16.0, 17.0]
-
cross_match_res02: [nan, nan, nan, nan, nan, nan, 15.0, 16.0, 17.0, 12.0, 13.0, 14.0]
-
only_list_prod: 6 [12.0, 13.0, 14.0, nan, nan, nan]
-
only_list_dev: 6 [nan, nan, nan, 15.0, 16.0, 17.0]
实现代码
- (1)、两列平行匹配求差集
- (2)、两列交叉匹配求差集
T1、集合交集运算符实现
T2、for循环判断实现
-
# Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)
-
-
import pandas as pd
-
-
-
data_path = 'data/demo_data_find_difference.xls'
-
df = pd.read_excel(data_path)
-
-
-
-
# 求差集
-
# (1)、两列平行匹配求差集
-
parallel_match_res = df[df["col01"] != df["col02"]]
-
print('parallel_match_res: \n',parallel_match_res)
-
-
-
# (2)、两列交叉匹配求差集
-
list_prod = df["col01"].tolist()
-
list_dev = df["col02"].tolist()
-
-
# T1、集合交集运算符实现
-
cross_match_res01 = list(set(list_dev).difference(set(list_prod)))
-
cross_match_res02 = list(set(list_prod)^set(list_dev))
-
print('cross_match_res01:',sorted(cross_match_res01))
-
print('cross_match_res02:',cross_match_res02)
-
-
# T2、for循环判断实现
-
only_list_prod = [x for x in list_prod if x not in list_dev] #在list1列表中而不在list2列表中
-
only_list_dev = [y for y in list_dev if y not in list_prod] #在list2列表中而不在list1列表中
-
print('only_list_prod:',len(only_list_prod), sorted(only_list_prod))
-
print('only_list_dev:',len(only_list_dev), sorted(only_list_dev))
文章来源: yunyaniu.blog.csdn.net,作者:一个处女座的程序猿,版权归原作者所有,如需转载,请联系作者。
原文链接:yunyaniu.blog.csdn.net/article/details/122261357
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)