有一些问题可能会遇到同元素多列去重问题,下面介绍一种非常简单效率也很快的做法,用pandas来实现。
首先我们看一下数据类型:
1
2
3
4
5
6
|
G1 G2 a b b a c d d c e f |
对这样的两列数据进行同元素去重,最终得到结果为:
1
2
3
4
|
G1 G2 a b c d e f |
代码如下:
1
2
3
4
5
6
7
8
9
10
|
#-*- 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 同元素多列去重的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/u011476718/article/details/62416776