Pandas的AB BA类型数据框去重复

 更新时间:2023年05月25日 10:09:46   作者:Victor  
这篇文章主要为大家介绍了Pandas的AB BA类型数据框去重复实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

从string-db下载蛋白质相互作用的信息,在处理时发现蛋白A与B互作被记录了两次比如下边的例子(即AB、BA)

df.drop_duplicates()
# Symbol1  Symbol2
# Gnai3  Pdcl2
# Pdcl2  Gnai3
# Gm4340  Gm3376
# Gm3376  Gm4340

而且drop_duplicates不能去除重复,因为他们在不同的列,因此可以想个方法,新建一列。

字符串的比较大小

字符串的比较大小是根据字符串按位比较,两个字符串第一位字符的ascii码谁大,字符串就大,不再比较后面的,比如

"Gnai3">"Pdcl2"
# False

axis=1是对每一行循环,总是把大的放在前边。

df.loc[:,"temp"]=df.apply(lambda x: f"{x[0]}-{x[1]}" if x[0]>x[1] else f"{x[1]}-{x[0]}",axis=1)
# Symbol1 Symbol2 temp
# Gnai3  Pdcl2 Pdcl2-Gnai3
# Pdcl2  Gnai3 Pdcl2-Gnai3
# Gm4340 Gm3376 Gm4340-Gm3376
# Gm3376 m4340 Gm4340-Gm3376

对temp的行去重复

这个时候再对temp的行去重复,就可以了

df.drop_duplicates(subset="temp")
# Symbol1 Symbol2 temp
# Pdcl2 Gnai3 Pdcl2-Gnai3
# Gm4340 Gm3376 Gm4340-Gm3376

最后再删除temp列

df.drop_duplicates(subset="temp").drop(columns="temp")
# Symbol1  Symbol2
# Gnai3  Pdcl2
# Gm4340  Gm3376

以上就是Pandas的AB BA类型数据框去重复的详细内容,更多关于Pandas数据框去重复的资料请关注脚本之家其它相关文章!

相关文章

  • Python的Flask框架及Nginx实现静态文件访问限制功能

    Python的Flask框架及Nginx实现静态文件访问限制功能

    这篇文章主要介绍了Python的Flask框架及Nginx实现静态文件访问限制功能,Nginx方面利用到了自带的XSendfile,需要的朋友可以参考下
    2016-06-06
  • Python实现的爬取网易动态评论操作示例

    Python实现的爬取网易动态评论操作示例

    这篇文章主要介绍了Python实现的爬取网易动态评论操作,结合实例形式分析了Python针对网易评论正则爬取及json格式数据转换、提取等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Python实现竖排打印传单手机号码易撕条

    Python实现竖排打印传单手机号码易撕条

    这篇文章主要介绍了Python实现竖排打印传单手机号码易撕条,代码非常简单,功能很实用,推荐给大家,有需要的小伙伴,参考下
    2015-03-03
  • 对python 各种删除文件失败的处理方式分享

    对python 各种删除文件失败的处理方式分享

    下面小编就为大家分享一篇对python 各种删除文件失败的处理方式。具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python 文件处理之open()函数

    Python 文件处理之open()函数

    这篇文章主要介绍了Python 文件处理之open()函数,在 Python 中使用文件的关键函数是 open() 函数,关于其打开文件的不同方式需要的小伙伴可以参考下面详细介绍
    2022-03-03
  • python opencv 实现读取、显示、写入图像的方法

    python opencv 实现读取、显示、写入图像的方法

    这篇文章主要介绍了python opencv 实现读取、显示、写入图像的方法,本文通示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Django接受前端数据的几种方法总结

    Django接受前端数据的几种方法总结

    下面小编就为大家带来一篇Django接受前端数据的几种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • python opencv实现图片旋转矩形分割

    python opencv实现图片旋转矩形分割

    这篇文章主要为大家详细介绍了python opencv实现图片旋转矩形分割,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Python编码类型转换方法详解

    Python编码类型转换方法详解

    这篇文章主要介绍了Python编码类型转换方法,结合实例形式详细分析了Python针对各种常见编码的转码与解码等操作技巧,需要的朋友可以参考下
    2016-07-07
  • python儿童学游戏编程知识点总结

    python儿童学游戏编程知识点总结

    在本文里小编给大家整理了关于python儿童学游戏编程知识点以及内容总结,需要的朋友们参考学习下。
    2019-06-06

最新评论