python – 在numpy中生成随机int64数组的最简单方法?

我想在一些不在int32限制范围内的范围内均匀分布int64的随机数组.

有randint和random_integers但它们与int32一起使用;提供大上限产生高是int32的界限.

如何生成具有指定范围的随机int64数组?

可能的解决方案:

>使用浮子发生器.在这种情况下它的分辨率会不会很差?
>生成随机字节,将它们解释为int64数组,然后通过较低的x%(上 – 下)进行标准化.但是int32生成有相同的规范化吗?它不会影响均匀性吗?

我不想错过一些简洁方便的方法吗?

为什么随机方法只产生浮点数和int32?

最佳答案
您可以使用random.randint并转换返回值:

>>> import numpy as np
>>> import random
>>> np.int64(random.randint(10000, 1000000000000))
321601597066

我不能保证这是最快的方法,但至少它是有效的并且非常清楚…(并且要获得一个数组,你只需要做很多次).

转载注明原文:python – 在numpy中生成随机int64数组的最简单方法? - 代码日志