如何在python中生成随机采样。用整数表示。给出了总数和大小

如何在python中生成随机采样。用整数表示。给出了总数和大小,python,numpy,random,Python,Numpy,Random,python中是否有直接函数或其他方法,可以为给定的大小生成随机整数,并指定这些数字的总和 比如说。 我想生成7个和为341的数字 我也可以指定这个的平均值。比如7个平均值为49,和为341的数字。可选的我发现这段代码可能会做得很好: _sum = 341 n = 7 Argentina = np.random.multinomial(_sum, np.ones(n)/n, size=1)[0] print (Argentina) [44 46 42 52 53 50 54] 您可以使用生成6

python中是否有直接函数或其他方法,可以为给定的大小生成随机整数,并指定这些数字的总和

比如说。 我想生成7个和为341的数字


我也可以指定这个的平均值。比如7个平均值为49,和为341的数字。可选的

我发现这段代码可能会做得很好:

_sum = 341
n = 7
Argentina = np.random.multinomial(_sum, np.ones(n)/n, size=1)[0]
print (Argentina)
[44 46 42 52 53 50 54]
您可以使用生成6个数字,围绕一个具有特定标准偏差接近度的平均值,并根据@PatrickArtner建议构建第7个数字,例如,使用平均值的3个标准dev:

In []:
import random
vals = [int(random.gauss(341/7, 3)) for _ in range(6)]
vals.append(341 - sum(vals))
vals, sum(vals), sum(vals)/7

Out[]:
([47, 47, 48, 48, 54, 50, 47], 341, 48.714285714285715)

是的,你可以做你想做的任何事情,只要你从一些代码开始。我有代码,等一下,我会发6,选择最后一个作为sumyour6与目标值的差值。根据定义,你怎么能得到165的平均值?如果它加起来是341,有7个元素,那么平均值是48.71。你不需要指定平均值-7个数字加起来是341,那么平均值总是48.71。你可能应该在你的问题中公布这一点,但是它做了你想要的-你的问题是什么?@AChampion我的问题是我想要7个随机数,和341,值接近平均值。当我问这个问题时,我没有这个代码。后来我发现了这个。什么是“接近平均值”的意思?有多近?顺便说一句,你的问题不是这样问的。