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之unittest单元测试代码

详解Python之unittest单元测试代码

前言 编写函数或者类时,还可以为其编写测试。通过测试,可确定代码面对各种输入都能够按要求的那样工作。 本次我将介绍如何使用Python模块unittest中的工具来测试代码。 测试函数...

Django 项目重命名的实现步骤解析

Django 项目重命名的实现步骤解析

在日常学习工作过程中,我们难免需要复用以前的项目,这里讲下复用 Django 项目并重命名的过程。 1.修改项目名称,使用 pycharm -> refactor 重命名整个项目。...

定制FileField中的上传文件名称实例

FileField中的upload_to属性可以设定上传文件的存储目录和名称,它可以是个字符串,也可以是个callable,比如一个方法。 当upload_to的值设为一个方法时,就可以...

Python 实现Numpy中找出array中最大值所对应的行和列

Python 实现Numpy中找出array中最大值所对应的行和列

Python特别灵活,肯定方法不止一种,这里介绍一种我觉得比较简单的方法。 如下图,使用x == np.max(x) 获得一个掩模矩阵,然后使用where方法即可返回最大值对应的行和列。...

Python调用C++程序的方法详解

前言 大家都知道Python的优点是开发效率高,使用方便,C++则是运行效率高,这两者可以相辅相成,不管是在Python项目中嵌入C++代码,或是在C++项目中用Python实现外围功能...