假设我有一个数据框,其形式为rn
是行索引
A1 | A2 | A3
-----------------
r1 x | 0 | t
r2 y | 1 | u
r3 z | 1 | v
r4 x | 2 | w
r5 z | 2 | v
r6 x | 2 | w
如果我想对这个数据框进行子集操作,使得A2列只有唯一值,我会使用
df.drop_duplicates('A2')
。然而,这样做只会保留每个唯一值的第一行并删除其余行。在这个例子中,只有r2和r4会被保留在子集中。
我希望的是,任何具有重复值的行都是随机选择而不是选择第一行。所以在这个例子中,对于A2 == 1
,r2或r3将随机选择,对于A2 == 2
,r4、r5或r6中的任意一个将随机选择。我该如何实现这个功能?