删除重复的值不起作用-预期会否?

时间:2019-03-18 06:19:48

标签: python-3.x pandas dataframe duplicates data-analysis

我的数据集类似于

enter image description here

我正在尝试2个函数来清理df-首先删除df中所有相等的组合-意味着如果相同的id组合在一起(如第1行和第3行),它将删除它,但是当我尝试第二个函数时然后删除每列中的所有重复项-它运行没有错误,但是没有删除实际的重复项?

def remove_dup_combos(df):
u = df.filter(like='id').values
m = pd.DataFrame(np.sort(u, axis=1)).duplicated()
df = df[~m]

return df



def remove_dups(df):
   df = df = df.drop_duplicates(['id1', 'id2'])

  return df

1 个答案:

答案 0 :(得分:2)

我相信您需要在两列中删除重复项:

df = df.drop_duplicates(['id1', 'id2'])

您的解决方案有所不同-分别删除重复项,先按第一列,然后按第二列:

df = df.drop_duplicates(['id1'], inplace = False)
df = df.drop_duplicates(['id2'], inplace = False)

默认情况下,DataFrame.drop_duplicates中的参数inplace = Falseimage_tag,因此应将其删除:

df = df.drop_duplicates(['id1'])
df = df.drop_duplicates(['id2'])