Python:随机选择组中的一个子组

时间:2019-11-18 22:55:39

标签: python pandas numpy random

我有一个看起来像这样的数据框:

patient_id   note_id    lines
A              10         1
A              10         2
A              10         3
A              29         1
A              29         2 
B              12         1
B              95         1
B              95         2
B              95         3
C......
D...... 
E              14         1
E              55         1 
E              87         1
......

每个患者可以有多个注释,每个注释可能包含多于1行。假设我有20位患者,50个音符和150行。如何为随机选择的3位患者随机选择一张随机笔记?假设我要为每个随机选择的Patient_id随机分配一张便笺,我将得到:

patient_id   note_id    lines
A              29         1
A              29         2 
B              12         1 
E              55         1

1 个答案:

答案 0 :(得分:0)

我建议创建一个没有lines列的临时数据集。然后n*r-p+1可以使每条音符占一行。然后调用.drop_duplicates()选择您的随机子集,然后调用.sample()将样本重新加入到Patient_id和note_id上​​的原始数据集中。因为我不是熊猫专家,所以可能会有更快的方法。