gpt4 book ai didi

python - 从 Pandas 的数据框中随机选择唯一行

转载 作者:太空宇宙 更新时间:2023-11-04 00:26:31 25 4
gpt4 key购买 nike

假设我有一个数据框,其中 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 中的任何一个。我将如何实现它?

最佳答案

先打乱 DataFrame,然后删除重复项:

df.sample(frac=1).drop_duplicates(subset='A2')

如果行的顺序很重要,您可以按照@cᴏʟᴅsᴘᴇᴇᴅ的建议使用sort_index:

df.sample(frac=1).drop_duplicates(subset='A2').sort_index()

关于python - 从 Pandas 的数据框中随机选择唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47271961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com