Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我正在尝试删除重复的后果性元素,并使用pandas保留数据框中的最后一个值

我正在尝试删除重复的后果性元素,并使用pandas保留数据框中的最后一个值
EN

Stack Overflow用户
提问于 2021-05-08 21:17:22
回答 1查看 37关注 0票数 0

数据帧中有两列,并且我试图从列"a“中删除连续的元素,并从列"b”中删除其对应的元素,同时只保留最后一个元素。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pandas as pd
a=[5,5,5,6,6,6,7,5,4,1,8,9]
b=[50,40,45,87,88,54,12,75,55,87,46,98]
df = pd.DataFrame(list(zip(a,b)), columns =['Patch', 'Reward'])
df=df.drop_duplicates(subset='Patch', keep="last")
df = df.set_index('Patch')
print (df)

当我运行这个命令时,我得到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
       Reward
Patch        
6          54
7          12
5          75
4          55
1          87
8          46
9          98

然而,我想要的是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Patch      Reward
5           45
6           54
7           12
5           75
4           55
1           87
8           46
9           98

PS:我不希望重复的元素在系列中的另一个元素之后或更晚的时候被删除,但只删除连续的重复,同时保持最后一个出现在连续的外观中。我也不希望它被排序,它们应该以与列表中相同的顺序出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-08 21:28:07

您可以创建一个新列,为每组连续的元素分配一个id,然后执行groupby操作,然后执行last聚合。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a=[5,5,5,6,6,6,7,5,4,1,8,9]
b=[50,40,45,87,88,54,12,75,55,87,46,98]
df = pd.DataFrame(list(zip(a,b)), columns =['Patch', 'Reward'])
df["group_id"]=(df.Patch != df.Patch.shift()).cumsum()
df = df.groupby("group_id").last()

输出

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Patch  Reward 
5      45
6      54
7      12
5      75
4      55
1      87
8      46
9      98 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67452237

复制
相关文章
【Python】基于某些列删除数据框中的重复值
Python按照某些列去重,可用drop_duplicates函数轻松处理。本文致力用简洁的语言介绍该函数。
阿黎逸阳
2020/09/08
20.6K0
【Python】基于某些列删除数据框中的重复值
【Python】基于多列组合删除数据框中的重复值
最近公司在做关联图谱的项目,想挖掘团伙犯罪。在准备关系数据时需要根据两列组合删除数据框中的重复值,两列中元素的顺序可能是相反的。
阿黎逸阳
2020/09/08
14.7K0
[Leetcode][python]删除排序链表中的重复元素/删除排序链表中的重复元素 II
如果当前节点有后一个节点,且它们的值相等,那么当前节点指向后一个节点的下一个节点,这样就可以去掉重复的节点。
蛮三刀酱
2019/03/26
2.8K0
删除链表中的重复元素
昨晚在参加兰亭集势的笔试时,看到了这样一个题目。大致意思就是给出一个单链表,链表中有重复的元素,需要删除重复的元素。如:1→2→3→5→4→3→7,删除重复元素后变成1→2→3→5→4→7。 思路其实还蛮简单:建立三个工作指针p,q,r,然后p遍历全表。p每到一个结点,q就从这个结点往后遍历,并与p的数值比较,相同的话就free掉那个结点。 LinkList RemoveDupNode(LinkList L) //删除重复结点的算法 { LinkList p , q , r; p = L -> ne
猿人谷
2018/01/17
2.7K0
Java 从一个 List 中删除重复的元素
在 Java 中删除 List 中重复元素的主要思路就是将 List 转换为 Set。
HoneyMoose
2022/05/07
9490
Java 从一个 List 中删除重复的元素
Java 从一个 List 中删除重复的元素
在 Java 中删除 List 中重复元素的主要思路就是将 List 转换为 Set。
HoneyMoose
2022/05/02
9700
Java 从一个 List 中删除重复的元素
删除排序链表中的重复元素
题意 给定一个排序链表,删除所有重复的元素每个元素只留下一个。 样例 给出 1->1->2->null,返回 1->2->null 给出 1->1->2->3->3->null,返回 1->2->3->null 思路 设置一个指针指向排序链表的头结点,遍历链表,若当前元素与下一个元素相同,直接将下一个元素的 next 指向下下个即可。 代码实现 /** * Definition for ListNode * public class ListNode { * int val; * L
一份执着✘
2018/06/04
1.5K0
[随缘一题]删除排序链表中的重复元素
如果当前节点的值和下一节点的值相等,则跳过下一个节点.即将当前节点的next指针指向下一个节点的指针.
呼延十
2019/07/01
1.5K0
删除有序链表中的重复元素
思路一:由于是有序的链表,所以按一定的顺序,例如从小到大,这样的话,将第一个A节点的值存于一个变量temp之中,设第一个节点为A(head),第二个节点为B(head.next),第三个节点为C(head.next.next),这样如果B的值与A相同,则就是要去掉的,即head.next=head.next.next ,第二节点的位置由第三个的值覆盖。以此类推,便能去重。
忧愁的chafry
2022/10/30
1.1K0
删除有序链表中的重复元素
删除一个有序数组中的重复元素
版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/81302145
zy010101
2019/05/25
1.6K0
根据一个属性,剔除 Json 中重复元素(删除 JSON 中重复的部分)
如上有一个类似这样 json :JsonContext,主要是描述多个 user 的相关信息。
微风-- 轻许--
2022/04/13
4K0
删除重复值,不只Excel,Python pandas更行
在Excel中,我们可以通过单击功能区“数据”选项卡上的“删除重复项”按钮“轻松”删除表中的重复项。确实很容易!然而,当数据集太大,或者电子表格中有公式时,这项操作有时会变得很慢。因此,我们将探讨如何使用Python从数据表中删除重复项,它超级简单、快速、灵活。
fanjy
2022/04/13
6.1K0
删除重复值,不只Excel,Python pandas更行
js数组删除某一个元素_删除数组中重复元素
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
5.4K0
Java 如何删除 List 中的重复元素
在有时候,我们希望 List 集合中的内容是不重复的,所以我们需要对 List 进行一次去重。
HoneyMoose
2021/01/30
4.7K0
Java 如何删除 List 中的重复元素
请教个问题,我想把数据中名字的重复值删掉,只保留年纪大的怎么整呢?
国庆期间在Python白银交流群【谢峰】问了一个Pandas处理的问题,提问截图如下:
Python进阶者
2022/11/14
1.7K0
请教个问题,我想把数据中名字的重复值删掉,只保留年纪大的怎么整呢?
删除数组中某个指定元素的值_如何删除数组中的元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169504.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
12.6K0
删除排序链表中重复元素的方法
链表的操作非常常见,也是面试中经常会被问道的问题。对于链表重复元素的删除,有两个变体,现在总结如下。 链表代码如下:
冬天里的懒猫
2020/08/03
1K0
pandas中数据框的reshape操作
数据框的长宽转换对于熟悉R语言的朋友而言,应该不会陌生。使用ggplot2画图时,最常用的数据处理就是长宽转换了。在pandas中,也提供了数据框的长宽转换功能,有以下几种实现方式
生信修炼手册
2020/07/02
4.6K0
112. 删除排序链表中的重复元素比较删除
给定一个排序链表,删除所有重复的元素每个元素只留下一个。 样例 给出 1->1->2->null,返回 1->2->null 给出 1->1->2->3->3->null,返回 1->2->3->null
和蔼的zhxing
2018/09/04
7790
python中删除列表中重复元素
在面试中,很可能遇到给定一个含有重复元素的列表,删除其中重复的元素,下边给出三种方法来实现这个功能。
全栈程序员站长
2022/09/07
4.1K0

相似问题

使用PigLatin删除重复项并保留最后一个元素

11

VBA删除重复值并保留最后一个值

152

删除同名(不重复)的其他元素并保留最后一个元素?

14

如何删除XML文件中的重复值并保留最后一个值?

41

我正在尝试从链表中删除重复项,但重复项仍保留

119
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文