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