Python:每组随机选择 [英] Python: Random selection per group
本文介绍了Python:每组随机选择的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
说我有一个看起来像这样的数据框:
Say that I have a dataframe that looks like:
Name Group_Id
AAA 1
ABC 1
CCC 2
XYZ 2
DEF 3
YYH 3
如何为每个Group_Id
随机选择一个(或多个)行?假设我要每Group_Id
次随机抽奖,我会得到:
How could I randomly select one (or more) row for each Group_Id
? Say that I want one random draw per Group_Id
, I would get:
Name Group_Id
AAA 1
XYZ 2
DEF 3
推荐答案
size = 2 # sample size
replace = True # with replacement
fn = lambda obj: obj.loc[np.random.choice(obj.index, size, replace),:]
df.groupby('Group_Id', as_index=False).apply(fn)
这篇关于Python:每组随机选择的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文