我想使用 scipy.stats 的 beta.rvs 函数生成大小为 (500, 1000000) 的矩阵。
我尝试过多线程,但仍然花费太多时间。还有其他方法可以减少执行时间吗?还有其他库可以做同样的事情吗?
您可以使用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