Pandas 同元素多列去重的实例

时间:2022-08-29 13:02:08

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