我的数据集类似于
我正在尝试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
答案 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 = False
是image_tag,因此应将其删除:
df = df.drop_duplicates(['id1'])
df = df.drop_duplicates(['id2'])