np.random.choice速度太慢
时间: 2023-11-24 18:51:25 浏览: 290
根据提供的引用内容,np.random.choice方法的速度可能会受到列表长度和选取概率的影响。如果列表很长,那么随机选取值的速度可能会变慢。如果选取概率不均匀,那么速度也可能会变慢。为了提高速度,可以考虑以下两种方法:
1.使用random.sample方法代替np.random.choice方法。random.sample方法可以在不重复的情况下从列表中随机选取指定数量的元素。这种方法的速度比np.random.choice方法快得多,但是它不能处理选取概率不均匀的情况。
2.如果需要处理选取概率不均匀的情况,可以考虑使用numpy.random.Generator.choice方法。这种方法是numpy 1.17版本中引入的,它比np.random.choice方法更快,并且可以处理选取概率不均匀的情况。
下面是两种方法的示例代码:
1.使用random.sample方法代替np.random.choice方法
```python
import random
a = [1, 2, 3, 4, 5]
size = 3
result = random.sample(a, size)
print(result)
```
2.使用numpy.random.Generator.choice方法
```python
import numpy as np
a = [1, 2, 3, 4, 5]
size = 3
p = [0.1, 0.2, 0.3, 0.2, 0.2]
rng = np.random.default_rng()
result = rng.choice(a, size=size, replace=False, p=p)
print(result)
```
阅读全文