python按概率选取_python-以相等的概率从熊猫组中随机选择-意...

我尝试随机抽取12个独特的组,每个组都有不同数量的观察值.我想从整个总体(数据框)中随机抽样,每组都有相同的概率被选中.最简单的示例是具有2组的数据框.

groups probability

0 a 0.25

1 a 0.25

2 b 0.5

使用np.random.choice(df [‘groups’],p = df [‘probability’],size = 100)现在,每次迭代都有50%的机会选择组a和50%的机会选择组b

为了得出概率,我使用了公式:

(1. / num_groups) / size_of_groups

或在Python中:

num_groups = len(df['groups'].unique()) # 2

size_of_groups = df.groupby('label').size() # {a: 2, b: 1}

(1. / num_groups) / size_of_groups

哪个返回

groups

a 0.25

b 0.50

直到我超过10个唯一的组,然后开始获得怪异的发行版,这才有效.这是一个小例子:

np.random.seed(1234)

group_size = 12

groups = np.arange(group_size)

probs = np.random.uniform(size=group_size)

probs = probs / probs.sum()

g = np.random.choice(groups, size=10000, p=p

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值