定位pandas指定列的重复数据


问题背景:

最近需要把数据库A和数据库B的data进行merge,苦于每个数据库permnent的identifier不一样(记为a和b好了),需要建立一个link table。link table中,a和b应该是一一对应关系,但是经过统计发现出现了重复行!试了很久才发现如何定位到重复行,分享給需要的童鞋。

原始iclink表形式如结果1所示,我需要ticker和permno保持一一对应关系,但是统计显示我有4个重复行。

iclink.head()

结果1:
ticker	permno	cname	comnam	name_similarity	score
0	0000	14471	TALMER BANCORP INC	TALMER BANCORP INC	100	0
4	000V	14423	EIGER BIOPHARMACEUTICALS INC	EIGER BIOPHARMACEUTICALS INC	100	0
6	000Z	14449	BIOCEPT INC	BIOCEPT INC	100	0
8	0017	14448	AUSPEX PHARMACEUTICALS INC	AUSPEX PHARMACEUTICALS INC	100	0
9	0018	14455	EGALET CORP	EGALET CORP	



解决方案:

只需要短短一行代码,就可以直接找出重复的行啦

从结果2可以看出,对于permno为CALV、KFS2、PD2、TOCC的sample都各有两条重复记录

~~~~~~~~~~~~~~~~~~~~?(开心,可以睡觉了。。)

iclink[iclink['ticker'].duplicated(keep=False)]

结果2:
ticker	permno	cname	comnam	name_similarity	score
18045	CALV	16849	CALEDONIA MINING CORP	CALEDONIA MINING CORP PLC	100	0
18046	CALV	77563	CALEDONIA MINING CORP	CALEDONIA MINING CORP	100	0
18133	KFS2	89063	KINGSWAY FINANCIAL	KINGSWAY FINANCIAL SERVICES INC	100	0
18134	KFS2	89063	KINGSWAY FINANCIAL SERVICES INC	KINGSWAY FINANCIAL SERVICES INC	100	0
18179	PD2	84155	PRECISION DRILLING CORP	PRECISION DRILLING CORP	100	0
18180	PD2	90999	PRECISION DRILLING CORP	PRECISION DRILLING CORP	100	0
18245	TOCC	89444	THOMSON REUTERS CORP	THOMSON REUTERS CORP	100	0
18246	TOCC	89444	THOMSON CORP	THOMSON REUTERS CORP	100	0
发布了26 篇原创文章 · 获赞 13 · 访问量 7292

猜你喜欢

转载自blog.csdn.net/original_recipe/article/details/86533302