栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python语言学习:利用pandas对两列字段元素求差集(对比两列字段所有元素的异同)

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))

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688780.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号