随机丢弃重复项

时间:2014-04-04 13:56:57

标签: python pandas

Pandas中,我们可以使用dataframe.drop_duplicates()删除重复项,keep_last = True默认保留重复数据的第一行。如果drop_duplicate,则保留最后一行。 我们如何使用pandas {{1}}?

保留任何随机行并删除重复的行

2 个答案:

答案 0 :(得分:5)

也许:

idx = np.random.permutation(np.arange(len(df)))
df.iloc[idx].drop_duplicates()

答案 1 :(得分:1)

一种实现此目的的Python方法:

df = df.sample(frac=1).drop_duplicates()

在这里,我们正在采样一个等于数据帧完整大小的样本,没有替换。这样可以有效地改组所有行的位置,使我们可以删除重复行并保留先前随机分配的第一行。

如果需要按顺序保留索引,则还可以重置它:

df = df.sample(frac=1).drop_duplicates().reset_index(drop=True)