Pandas 同元素多列去重的实例

yipeiwu_com5年前Python基础

有一些问题可能会遇到同元素多列去重问题,下面介绍一种非常简单效率也很快的做法,用pandas来实现。

首先我们看一下数据类型:

G1 G2
a b
b a
c d
d c
e f

对这样的两列数据进行同元素去重,最终得到结果为:

G1 G2
a b
c d
e f

代码如下:

#-*- coding: utf-8 -*-
data = {'G1':['a','b','c','d','e'],'G2':['b','a','d','c','f']}
data = pd.DataFrame(data)
data['G3'] = data['G1'] + '|' + data['G2']
p = []
for i in data['G3'].tolist():
  tmp = sorted(i.split('|')) # The most important part,sort 
  p.append(tmp[0] + '|' + tmp[1])
data['G3'] = pd.Series(p)
data = data.drop_duplicates('G3')

以上这篇Pandas 同元素多列去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python登录WeChat 实现自动回复实例详解

python登录WeChat 实现自动回复实例详解

最近实现了一些微信的简单玩法 我们可以通过网页版的微信微信网页版,扫码登录后去抓包爬取信息,还可以post去发送信息。 》》安装itchat这个库  &nb...

Python 忽略warning的输出方法

有时候运行代码时会有很多warning输出,如提醒新版本之类的,如果不想这些乱糟糟的输出可以这样: import warnings warnings.filterwarnings(...

利用Django提供的ModelForm增删改数据的方法

上一篇我们写了Django基于类如何增删改数据的方法,方法虽然简单,但新手可能对其原理不是很清楚,那么我们这次就用Django提供的ModelForm方法来实现增删改数据,这是一种基于现...

python xml解析实例详解

python xml解析 first.xml  <info> <person > <id>1</id> <n...

Python3内置模块之base64编解码方法详解

Python3内置模块之base64编解码方法详解

概述 Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来表示二进制数据的方法。可查看 RFC2045 ~ RFC20...