【发布时间】:2020-10-17 03:15:01
【问题描述】:
示例数据框:
Name Group_Id
AAA 1
ABC 1
BDF 1
CCC 2
XYZ 2
DEF 3
如何为每个Group_Id 随机选择固定数量的行? This answer 建议使用方法:
df.groupby('Group_Id').apply(lambda x: x.sample(2)).reset_index(drop=True)
但如果任何组的行数少于2,则会引发错误。在这种情况下,我希望能够选择所有行。 .head() 允许这样做,但我想要随机样本而不是初始行。
假设我希望每个Group_Id 最多随机抽取两次,我会得到:
Name Group_Id
AAA 1
BDF 1
CCC 2
XYZ 2
DEF 3
【问题讨论】: