随机丢弃重复项

Abh*_*kur 3 python pandas

Pandas我们可以通过使用删除重复dataframe.drop_duplicates()项,默认情况下保留重复数据的第一行.如果keep_last = True,保留最后一行.我们如何使用pandas保留任何随机行并删除重复的行drop_duplicate

小智 10

实现此目的的 Pythonic 方法:

df = df.sample(frac=1).drop_duplicates()
Run Code Online (Sandbox Code Playgroud)

在这里,我们采用的样本等于数据帧的完整大小,无需替换。这有效地打乱了所有行的位置,使我们能够删除重复项并保留先前随机化的第一行。

如果您需要保持索引按顺序排列,您也可以重置它:

df = df.sample(frac=1).drop_duplicates().reset_index(drop=True)
Run Code Online (Sandbox Code Playgroud)


beh*_*uri 5

也许:

idx = np.random.permutation(np.arange(len(df)))
df.iloc[idx].drop_duplicates()
Run Code Online (Sandbox Code Playgroud)