利用pandas找出全部的重复值
需求:
公司每天都会从其他的渠道获取到一些客户资料,我们会从中去掉跟我们本身的资料库对比,剔除掉重复的值,重复的资料有的是多个,并且是不同渠道的,所以要找出全部重复值。
资料库里边有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找出全部的重复值相关推荐
- 找出数组中重复的数字---多思路
问题:找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意 ...
- 在一段英文字母中找出每个字母重复数量的方法(Java)
首先需要了解下java的hashmap数据类型: hashmap是基于哈希表的Map接口的实现.hashmap有两个元素,一个是key(键名),一个是value(键值),就相当于一个字典了,和Pyth ...
- 找出重复的数java_剑指offer:1.找出数组中重复的数(java版)
数组中重复的数: 题目:找出数组中重复的数, 题目描述: 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的. 也不知道每个数字重复几次.请找 ...
- 13. 找出数组中重复的数字【难度: 简单 / 知识点: 模拟】
13. 找出数组中重复的数字[难度: 简单 / 知识点: 模拟] 方法一: map 计数 时间复杂度O(nlongn) 空间复杂度多了一个二叉树 class Solution {public:int ...
- 图解面试题:找出数组中重复的数字?
今天分享的题目来源于 LeetCode 上的剑指 Offer 系列 面试题03. 数组中重复的数字. 题目链接:https://leetcode-cn.com/problems/shu-zu-zhon ...
- JS实现找出数组中重复的数字的三种方法
分享在JS中实现--找出数组中重复数字的方法的三种 法一. 排序比较法 先排序,再通过遍历比较,若相等,则添加到结果数组中,最后对结果数组进行去重,即可得到结果. function getSameNu ...
- 剑指offer 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来(leetcode有空就刷系列之找出数组中重复的数字)
数组中重复的数字 找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找 ...
- 【菜鸡新手 - 剑指offer 03】[2021/1/17一刷] 找出数组中重复的数字 -三种解法|| 物归原主,测试碰撞法 || hash表测试碰撞法 || 排序+遍历法 ||python
文章目录 题目解读 A. 书籍推荐解法:我起名为" 物归原主,测试碰撞"法 B. 基础尝试1:hash表 + 碰撞测试 (效果还行) C. 基础尝试2:排序+遍历 (效果差) C. ...
- 利用Python找出适合你的国考市考公务员岗位
很多小伙伴都在考虑是否要报公务员,但是却不知道适合自己的岗位有什么,今天我们就来利用Python找出适合你的岗位吧! 根据2019年国考全国职位表,可以找到以下的报考限制因素:专业.学历.政治面貌.基 ...
最新文章
- sql和access中截取字符串的区别
- java integer引用传递_在java中String,对象,Integer(包装类型的)关于引用传递还是值传递...
- web----epoll实现原理
- java项目定时任务_java项目定时任务实现
- 01.轮播图之三 : collectionView 轮播
- 按时间取天和月的数据,和字符串截取函数
- java异常处理思考题_java异常处理试题及答案
- 算法导论 思考题4-1
- DOMContentLoaded事件
- visual studio 删除附加项
- 子类发送消息_RocketMQ生产消息源码解析
- VS2013编译eXosip2-5.0.0
- 阵列天线方向图-均匀圆形/圆柱阵列matlab仿真
- Windows10下电脑版微信未读消息自动弹窗工具
- 关于苹果MFI认证那些事
- 泰坦尼克号(1997)
- 【windows】bat 更改系统时间同步internet时间
- bitwise和shift arithmetic
- 关于步进电机励相数、拍数、励磁方式、编码
- docker 镜像制作