python用drop_duplicates()函数保留数据集的重复行

       前两天处理数据的时候,需要得到两个数据的交集数据,所以要去除数据中非重复部分,只保留数据中的重复部分。

       网上看了一下大家的教程,大部分都是教去除重复行,很少有说到仅保留重复行的。所以在这里用drop_duplicates这个去重函数来实现这个功能。

drop_duplicates函数介绍

data.drop_duplicates(subset=[‘A’,‘B’],keep=‘first’,inplace=True)

#subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。

默认值为subset=None表示考虑所有列。

keep='first’表示保留第一次出现的重复行,是默认值。

keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。

inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本。


要用函数取得数据集data中的重复列,分三个步骤

(提前导入pandas模块)

data0_1 = data.drop_duplicates() #保留第一个重复行

data0_2 = data.drop_duplicates(keep=False) #去除所有重复行

data0_3=pd.concat([data0_1,data0_2]).drop_duplicates(keep=False)

#合并起来再去重,只剩下真的重复行。


举例:data中wangwu行和tony行重复,需要把它们两行取出。

第一步:#保留第一个重复行

第二步:#去除所有重复行

第三步:#合并起来再去重

通过以上步骤实现取出数据中的重复行。

你可能感兴趣的:(python用drop_duplicates()函数保留数据集的重复行)