有一些问题可能会遇到同元素多列去重问题,下面介绍一种非常简单效率也很快的做法,用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