小智 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)
也许:
idx = np.random.permutation(np.arange(len(df)))
df.iloc[idx].drop_duplicates()
Run Code Online (Sandbox Code Playgroud)