Pandas的AB BA类型数据框去重复
作者:Victor 发布时间:2022-09-26 07:48:16
标签: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
来源:https://segmentfault.com/a/1190000043823295
0
投稿
猜你喜欢
- mitmproxy是一个支持HTTP和HTTPS的抓包程序,类似Fiddler、Charles的功能,只不过它通过控制台的形式操作。此外,m
- 本文实例讲述了python实现linux下使用xcopy的方法。分享给大家供大家参考。具体如下:这个python函数模仿windows下的x
- 一起画图吧为什么突然想搞这个画图软件呢不瞒各位,是因为最近接到了一个很小很小很小小得不能再小的小项目就是基于Tkinter,做一个简易的画图
- 上一章节我们学习了 excel 的读取模块 - xlrd ,今天章节将学习 excel 的写入模块 - xlsxwriter 。通过该章节的
- 从今天起,我将陆续将 ppk on JavaScript 的读书心得发布到这个blog上。ppk是我所景仰的一位web开发者,原因无它,只是
- 想想你在一家公司里做表格,现在有一个下面这样的excel表摆在你面前,这是一个员工每个月工资的表,现在假设,你要做的事情,是填充好后面几个月
- pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。过去我们一般用virtualenv搭建虚拟环
- 如下所示:import socketimport threadingimport timedef testconn( host , port
- 一图胜“十”言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识。 数据库基本是由表,关系,操作
- 以下保存成 App.xml , 与asp文件放在相同目录下! 代码如下: <?xml version="1.0"
- 一般上电子商务网站买东西的用户分三种:随便看看,就是不买先看看,买不买再说就是来买东西的这样的需求反应到产品页的购买按钮上,我们一般会看到购
- PySide是一个免费的软件,与PyQt不同之处在于使用了LGPL,允许PySide免费的开发商业软件。 PySide有15个模块。这些模块
- 1.预备知识python语言,scrapy爬虫基础,json模块,flask后端2.抓取CSDN数据接口使用谷歌抓包工具抓取CSDN搜索引擎
- 批量处理文件时,常需要先遍历某个路径提取特定条件的文件名。这篇写一个暴力遍历但很简洁的方法,真的非常简洁但是非常暴力。例子目标是:获得存放遥
- Python SSH远程连接与文件传输from paramiko import (SSHClient, SFTPClient, AutoAd
- 如题,先上效果图:主要分为两大步骤使用python语句,通过百度地图API,对已知的地名抓取经纬度使用百度地图API官网的html例程,修改
- 前言数据分析时候,需要将数据进行加载和存储,本文主要介绍和excel的交互。read_excel()加载函数为read_excel(),其具
- 目的检测字符串中是否包含某字符集合中的字符方法 最简洁的方法如下,清晰,通用,快速,适用于任何序列和容器def containAny(seq
- 很久没有上过天极网,今天偶然兴起跑上去看了一下,看到消息说天极网深圳站隆重上线,于是也顺便去溜了一把,打开页面的时候差点有种不知所措的感觉,
- 在使用Python做脚本的话,有两个库可以使用,一个为PyUserInput库,另一个为pyautogui库。就本人而言,我更喜欢使用pya