关于Numpy生成指定范围与数量的随机浮点数

今天准备用Python生成生成指定范围与数量的随机浮点数数组,但Numpy并没有能直接创建任意范围内随机浮点数的函数。
所以我利用numpy.random模块自己写了一个,用于扩大选择范围。

模块里的函数:numpy.random.rand(num)

import numpy as np

def randfloat(num, l, h):
    if l > h:
        return None
    else:
        a = h - l
        b = h - a
        out = (np.random.rand(num) * a + b).tolist()
        out = np.array(out)
        return out

num:数量,数值范围是[0,1);
l:下限;
h:上限;

举例:生成200个大于3且小于7的浮点数

a = randfloat(num = 200, l = 3, h = 7)
print(a)

结果:

[5.29088302 6.25864809 6.28811283 4.78606949 6.67903492 5.78122229
 6.91040028 4.00104229 6.35404862 5.00690862 5.97468924 5.48587934
 6.45393051 4.50306728 4.18181283 4.18476166 6.3994035  5.46175947
 4.05107209 4.79075569 6.93937804 5.44377244 4.76213251 5.39888674
 5.02216943 6.34737212 4.68193906 6.3143376  5.58413908 4.83381739
 5.65374681 4.78391694 6.68600757 4.45922475 6.5646872  5.27405524
 5.96092798 6.49170333 6.14202966 4.02584943 5.65650217 4.4552557
 4.12476151 4.26935449 5.37079795 4.59272618 5.20727226 4.21188787
 6.97945082 5.67829667 5.50247745 6.54253777 4.86098012 6.86235072
 4.15254967 5.19620613 6.56104324 5.79981746 6.76715048 6.46301669
 6.30737013 4.50043623 4.55130738 5.87674201 5.89947085 5.47928153
 4.07517154 6.86705104 5.59582937 5.76030386 6.45530803 4.5068216
 6.63538331 5.98789564 4.17438102 4.91188961 6.11731793 5.00531156
 4.25270281 6.30935484 6.65348405 5.90507071 6.3274484  4.35961812
 6.60029286 6.39761297 4.23231382 5.13083492 5.81937753 4.6544662
 4.63643924 5.18865528 6.9046025  5.81595056 5.9705111  6.79825231
 4.4463218  4.43020649 6.81435853 6.33447623 4.97094135 4.57283608
 6.13050346 5.89749509 6.55496393 4.02846703 5.68938491 5.1017069
 5.09444861 6.64248501 5.60052242 6.8327306  4.64243679 6.76874815
 6.06534299 6.70608579 6.22222573 4.85149337 6.07540021 6.53010761
 5.76305727 6.52427636 5.14499296 4.75436886 6.89981554 5.48659807
 4.27571213 5.98458163 4.65657178 4.47330826 4.12229849 5.20872735
 4.55585136 6.07018684 5.46120899 6.99700064 6.3069777  5.15680283
 6.39053083 4.47602404 6.04848813 6.29587695 5.95529048 5.85717061
 5.61567336 6.62424944 6.72168629 6.87043191 4.02337412 4.44425985
 6.14860698 6.50963427 5.70469755 6.50406053 4.49405795 6.26944962
 4.26611486 6.59213205 6.93563609 5.44635095 4.54888831 5.00577298
 6.30349588 5.23331328 5.4430886  6.26561914 4.13844297 4.11872121
 6.27470511 4.88787265 5.68945774 4.27208632 6.08926185 4.99292812
 6.19406316 5.25828127 5.78749006 4.63846567 4.11484806 5.83807627
 6.59444996 5.16546501 5.83423861 6.00159317 5.94607648 5.03819078
 6.93601616 4.35329003 4.74713205 6.91053558 6.95496332 5.32575459
 6.5162614  6.15022939 5.71555457 5.57301965 4.49637265 4.03561941
 6.68183549 4.28042849]

版权声明:本文为Dangerous_Zombie原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。