在 python 中使用 beta.rvs 生成矩阵的最快方法

问题描述 投票:0回答:1

我想使用 scipy.stats 的 beta.rvs 函数生成大小为 (500, 1000000) 的矩阵。

我尝试过多线程,但仍然花费太多时间。还有其他方法可以减少执行时间吗?还有其他库可以做同样的事情吗?

python numpy performance random scipy
1个回答
0
投票

您可以使用np.random.uniform

np.random.uniform(a, b, size=(500, 1000000))

测试:

import time

import numpy as np
from scipy.stats import beta

a, b = 0.5, 10
size = (500, 1000000)

start = time.time()
beta.rvs(a, b, size=size)
print(f'beta.rvs {time.time() - start}')

start = time.time()
np.random.uniform(a, b, size=size)
print(f'np.random {time.time() - start}')

输出

beta.rvs 88.74817728996277
np.random 6.110665321350098
© www.soinside.com 2019 - 2024. All rights reserved.