首页 新闻 搜索 专区 学院

萌新求助,PYTHON多条件去重能否只删除单个重复值得数据而不删除一行数据

0
悬赏园豆:10 [待解决问题]

RT,

本期时间 二级商品组名称 会员编号
20171207 办公 2216293462
20171207 洗护 6018020335
20171207 办公 2216293462
20171208 生活日用 6000055302
20171208 办公 6018020335
20171208 生活日用 2216293462
20171208 生活日用 2216293462

  想变为下面这样,筛选这三列重复的行,若2行重复的吧最后一列会员编码删掉,保留前面的第一行:

本期时间 二级商品组名称 会员编号
20171207 办公 2216293462
20171207 洗护 6018020335
20171207 办公  
20171208 生活日用 6000055302
20171208 办公 6018020335
20171208 生活日用 2216293462
20171208 生活日用  
佛系程序员的主页 佛系程序员 | 初学一级 | 园豆:192
提问于:2018-06-24 23:44
< >
分享
所有回答(2)
0

你是要删除每一天名称重复的最后一条数据?为什么有这种奇怪的操作

小光 | 园豆:1862 (小虾三级) | 2018-06-25 09:38

诶··业务需求啊··

支持(0) 反对(0) 佛系程序员 | 园豆:192 (初学一级) | 2018-06-25 09:42

@佛系程序员: 好吧,那通过gruop by查到每天同名称最后一条数据update呗

支持(0) 反对(0) 小光 | 园豆:1862 (小虾三级) | 2018-06-25 10:11

@小光: 大神能给出具体的代码示例吗

支持(0) 反对(0) 佛系程序员 | 园豆:192 (初学一级) | 2018-06-25 14:23

@佛系程序员: 只有这三个列?,没有唯一标识么

支持(0) 反对(0) 小光 | 园豆:1862 (小虾三级) | 2018-06-25 14:31

@小光: 其他数据都没有唯一性,我想达到的目的是在没行前两列数据相同的前提下,第三行数据若重复则只保留首次出现的值,若无重复则保持不变

支持(0) 反对(0) 佛系程序员 | 园豆:192 (初学一级) | 2018-06-26 00:15

@佛系程序员: 遍历一下数据,每一次遍历就把没出现的商品名称和编号存起来,如果哪一条数据的商品名称和编号和出现过的数据其中一个完全相同,就删除该数据的编号

支持(0) 反对(0) 小光 | 园豆:1862 (小虾三级) | 2018-06-26 10:32
0
#list 去重
ids = [1,4,3,3,4,2,3,4,5,6,1]
func = lambda x,y:x if y in x else x + [y]
lists = reduce(func, [[], ] + ids)
print lists

不知道能不能符合你的需求

或者你把他放在一个字典里在遍历的时候就过滤

DanBrown | 园豆:1513 (小虾三级) | 2018-06-25 14:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册