如何在numpy的区间[a,b]中对随机浮点数进行采样?不只是整数,而是任何实数.例如,
random_float(5, 10)
将返回之间的随机数[5, 10].谢谢.
Ken*_*Ken 39
该均匀分布可能会做你的要求.
np.random.uniform(5,10) # A single value
np.random.uniform(5,10,[2,3]) # A 2x3 array
Run Code Online (Sandbox Code Playgroud)
如果没有 numpy,您可以使用 random 模块执行此操作。
import random
random.random()*5 + 10
Run Code Online (Sandbox Code Playgroud)
将返回 10-15 范围内的数字,作为函数:
>>> import random
>>> def random_float(low, high):
... return random.random()*(high-low) + low
...
>>> random_float(5,10)
9.3199502283292208
>>> random_float(5,10)
7.8762002129171185
>>> random_float(5,10)
8.0522023132650808
Run Code Online (Sandbox Code Playgroud)
random.random()返回一个从 0 到 1 的浮点数(不包括上限)。将它乘以一个数字可以得到更大的范围。exrandom.random()*5返回从 0 到 5 的数字。向其添加一个数字提供一个下限。random.random()*5 +10返回从 10 到 15 的数字。我不确定您为什么要使用 numpy 完成此操作,但也许我误解了您的意图。
| 归档时间: |
|
| 查看次数: |
24744 次 |
| 最近记录: |