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

作者:Victor 时间:2022-09-26 07:48:16 

从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

来源:https://segmentfault.com/a/1190000043823295

标签:Pandas,数据框,去复,AB类型,BA类型
0
投稿

猜你喜欢

  • python中numpy包使用教程之数组和相关操作详解

    2022-10-26 19:18:40
  • SQL Server 2008中有关XML的新功能

    2008-06-04 12:57:00
  • python将字符串转换成json的方法小结

    2023-11-17 23:58:57
  • python中enumerate函数用法实例分析

    2023-04-02 05:14:20
  • Python OpenCV基于霍夫圈变换算法检测图像中的圆形

    2023-11-12 05:33:36
  • Centos7 mysql数据库安装及配置实现教程

    2024-01-16 06:39:40
  • python实现抽奖小程序

    2022-06-10 14:14:29
  • Python实现视频分解成图片+图片合成视频

    2022-12-14 05:26:12
  • 使用Python制作微信跳一跳辅助

    2022-09-21 12:10:37
  • 使用Docker部署ASP.NET Core程序

    2024-06-05 09:24:56
  • pandas实现手机号号码中间4位匿名化的示例代码

    2022-02-02 06:08:40
  • PHP PDOStatement::errorInfo讲解

    2023-06-04 14:11:53
  • Python中第三方库Requests库的高级用法详解

    2022-04-10 21:25:50
  • Python 文本文件与csv文件的读取与写入

    2021-02-10 09:57:56
  • python 判断linux进程,并杀死进程的实现方法

    2022-06-24 22:31:54
  • javascript面向对象技术基础(四)

    2010-02-07 13:15:00
  • python hough变换检测直线的实现方法

    2022-06-11 10:08:37
  • python 随机生成10位数密码的实现代码

    2021-08-01 23:49:02
  • javascript中的关于类型转换的性能优化

    2023-06-26 16:25:48
  • python数字图像处理skimage读取显示与保存图片

    2023-07-28 17:33:00
  • asp之家 网络编程 m.aspxhome.com