需求:
公司每天都会从其他的渠道获取到一些客户资料,我们会从中去掉跟我们本身的资料库对比,剔除掉重复的值,重复的资料有的是多个,并且是不同渠道的,所以要找出全部重复值。

资料库里边有10w条数据左右,使用excel匹配运算太慢,故使用pandas处理重复值。

import pandas as pddef loadorders():#加载导入汇总表print("正在加载《导入汇总表.xlsx》")inputable = pd.read_excel(r"C:\Users\Administrator\Desktop\导入汇总表.xlsx")orders = inputable.drop(["客户地址","分配的客服(登陆账号)","客户编号 "],axis = 1)print("加载《导入汇总表》成功")return ordersdef loaddatas():#加载电商资料ec_datas = pd.read_excel(r"C:\Users\Administrator\Desktop\电商资料.xlsx")channel = input("请输入渠道名称(不区分大小写):")if channel.islower():channel = channel.upper()channel_str = str(channel+"=")ec_datas["客户姓名"] = [str(channel_str+str(i)) for i in ec_datas["客户姓名"]]col = ["客户姓名","联系电话"]parse_datas = ec_datas.ix[:,col]before_dropduplicate_num = len(parse_datas)print("客户姓名修改成功")print("资料总条数:"+str(before_dropduplicate_num))# 资料本身去重parse_datas.drop_duplicates("联系电话","first",inplace=True)parse_datas.to_excel(r"C:\Users\Administrator\Desktop\电商资料-自身去重.xlsx", encoding="gbk")after_dropduplicats_num = len(parse_datas)print("资料本身去重成功")print("去重后资料总条数:"+str(after_dropduplicats_num))return parse_datasdef match(parse_datas,orders):date = datetime.now()date_str = datetime.strftime(date, "%Y%m%d")df = pd.merge(parse_datas,orders,left_on="联系电话",right_on ="客户号码",how="left")channel_list =["TK","HM","H","C","HA","HMA","H纤","K","M","N","NN","NT","Q","TKA","YA","YD"]df_end = df[df["渠道"].isin(channel_list)]df_end.to_excel(r"C:\Users\Administrator\Desktop\重复粉.xlsx",encoding = "gbk")print("处理重复粉成功")if __name__ == '__main__':a = input("电商资料.xlsx,检查客户名字开头不能以特殊字符开头,扣1")if a==str(1):orders=loadorders()parse_datas = loaddatas()match(parse_datas,orders)

利用pandas找出全部的重复值相关推荐

  1. 找出数组中重复的数字---多思路

    问题:找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意 ...

  2. 在一段英文字母中找出每个字母重复数量的方法(Java)

    首先需要了解下java的hashmap数据类型: hashmap是基于哈希表的Map接口的实现.hashmap有两个元素,一个是key(键名),一个是value(键值),就相当于一个字典了,和Pyth ...

  3. 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)

    数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...

  4. 13. 找出数组中重复的数字【难度: 简单 / 知识点: 模拟】

    13. 找出数组中重复的数字[难度: 简单 / 知识点: 模拟] 方法一: map 计数 时间复杂度O(nlongn) 空间复杂度多了一个二叉树 class Solution {public:int ...

  5. 图解面试题:找出数组中重复的数字?

    今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...

  6. JS实现找出数组中重复的数字的三种方法

    分享在JS中实现--找出数组中重复数字的方法的三种 法一. 排序比较法 先排序,再通过遍历比较,若相等,则添加到结果数组中,最后对结果数组进行去重,即可得到结果. function getSameNu ...

  7. 剑指offer 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来(leetcode有空就刷系列之找出数组中重复的数字)

    数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找 ...

  8. 【菜鸡新手 - 剑指offer 03】[2021/1/17一刷] 找出数组中重复的数字 -三种解法|| 物归原主,测试碰撞法 || hash表测试碰撞法 || 排序+遍历法 ||python

    文章目录 题目解读 A. 书籍推荐解法:我起名为" 物归原主,测试碰撞"法 B. 基础尝试1:hash表 + 碰撞测试 (效果还行) C. 基础尝试2:排序+遍历 (效果差) C. ...

  9. 利用Python找出适合你的国考市考公务员岗位

    很多小伙伴都在考虑是否要报公务员,但是却不知道适合自己的岗位有什么,今天我们就来利用Python找出适合你的岗位吧! 根据2019年国考全国职位表,可以找到以下的报考限制因素:专业.学历.政治面貌.基 ...

最新文章

  1. sql和access中截取字符串的区别
  2. java integer引用传递_在java中String,对象,Integer(包装类型的)关于引用传递还是值传递...
  3. web----epoll实现原理
  4. java项目定时任务_java项目定时任务实现
  5. 01.轮播图之三 : collectionView 轮播
  6. 按时间取天和月的数据,和字符串截取函数
  7. java异常处理思考题_java异常处理试题及答案
  8. 算法导论 思考题4-1
  9. DOMContentLoaded事件
  10. visual studio 删除附加项
  11. 子类发送消息_RocketMQ生产消息源码解析
  12. VS2013编译eXosip2-5.0.0
  13. 阵列天线方向图-均匀圆形/圆柱阵列matlab仿真
  14. Windows10下电脑版微信未读消息自动弹窗工具
  15. 关于苹果MFI认证那些事
  16. 泰坦尼克号(1997)
  17. 【windows】bat 更改系统时间同步internet时间
  18. bitwise和shift arithmetic
  19. 关于步进电机励相数、拍数、励磁方式、编码
  20. docker 镜像制作

热门文章

  1. 《大话数据结构》pdf
  2. 八进制数字字符转化为十进制详解
  3. 【每日早报】2019/12/26
  4. 苹果企业手机(iphone企业机)诈骗上海浦东黄埔静安虹口存在,iphone12pro,iphone12promax,iphone13pro,iphone13promax等苹果手机都存在
  5. C语言 PTA习题3-2 高速公路超速处罚
  6. HTML页面保存为图片
  7. 健身工作室活不过2年?健身房捷径管理系统成为破局关键
  8. 五步清除客户电脑中的病毒和间谍软件
  9. 如何查看端口和杀死进程
  10. eclipse注释模板与格式化模板