【发布时间】:2017-12-26 16:07:27
【问题描述】:
我想使用Pandas 随机选择一个考虑权重的值。
df:
0 1 2 3 4 5
0 40 5 20 10 35 25
1 24 3 12 6 21 15
2 72 9 36 18 63 45
3 8 1 4 2 7 5
4 16 2 8 4 14 10
5 48 6 24 12 42 30
我知道使用np.random.choice,例如:
x = np.random.choice(
['0-0','0-1',etc.],
1,
p=[0.4,0.24 etc.]
)
因此,我想从df 以与np.random.choice 类似的样式/替代方法获得输出,但使用Pandas。与我上面所做的手动插入值相比,我想以更有效的方式这样做。
使用np.random.choice 我知道所有值加起来必须等于1。我不确定如何解决这个问题,也不确定如何使用Pandas 根据权重随机选择一个值。
当引用一个输出时,如果随机选择的权重例如是 40,那么输出将是 0-0,因为它位于 column 0、row 0 等等。
【问题讨论】:
标签: python python-2.7 pandas numpy