相关疑难解决方法(0)

最快的方法在python中生成1,000,000多个随机数

我目前正在python中编写一个需要生成大量随机数的应用程序.FAST.目前我有一个方案,使用numpy生成一个巨大的批次中的所有数字(一次大约约500,000).虽然这似乎比python的实现更快.我仍然需要它更快.有任何想法吗?我愿意用C语言编写它并将其嵌入程序中或者用它来完成它.

对随机数的限制:

  • 一组7个数字,可以都有不同的边界:
    • 例如:[0-X1,0-X2,0-X3,0-X4,0-X5,0-X6,0-X7]
    • 目前我正在生成一个包含7个数字的列表,其中随机值来自[0-1],然后乘以[X1..X7]
  • 一组13个数字,总计为1
    • 目前只生成13个数字,然后除以它们的总和

有任何想法吗?预先计算这些数字并将它们存储在一个文件中会使这更快吗?

谢谢!

python random performance numpy

24
推荐指数
2
解决办法
2万
查看次数

如何在 numpy 数组中按行随机分配值

我的 google-fu 失败了!我有一个 10x10 numpy 数组,初始化如下0

arr2d = np.zeros((10,10))
Run Code Online (Sandbox Code Playgroud)

对于 中的每一行arr2d,我想将 3 个随机列分配给1。我可以使用循环来完成此操作,如下所示:

for row in arr2d:
    rand_cols = np.random.randint(0,9,3)
    row[rand_cols] = 1
Run Code Online (Sandbox Code Playgroud)

输出:

array([[ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  1.,  0.],
   [ 0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  1.,  0.],
   [ 0.,  0.,  1.,  0.,  1.,  1.,  0.,  0.,  0.,  0.],
   [ 0.,  0.,  0.,  0.,  1.,  1.,  1.,  0.,  0.,  0.],
   [ 1.,  0.,  0.,  1.,  1., …
Run Code Online (Sandbox Code Playgroud)

python numpy vectorization

5
推荐指数
1
解决办法
2717
查看次数

标签 统计

numpy ×2

python ×2

performance ×1

random ×1

vectorization ×1