随机二维阵列

2024-04-25 16:43:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在numpy中创建一个2D一致随机数组,类似于:

A=[[a1,b1],
   [a2,b2],
   ...,
   [a99,b99]]

但我希望列的值在一定范围内(比如1-10之间) B值在不同的范围内(比如11-20)。在

在Python中如何获得这个结果?在


Tags: numpya2a1b2b1b99a99
1条回答
网友
1楼 · 发布于 2024-04-25 16:43:26

两种方式。在

我们可以用正确分配的lowhigh值堆叠两个随机数组-

In [39]: n = 10000 # no. of rows

In [40]: np.c_[np.random.randint(1,11,(n)), np.random.randint(11,21,(n))]
Out[40]: 
array([[ 6, 19],
       [ 8, 18],
       [ 6, 11],
       ..., 
       [ 5, 12],
       [10, 16],
       [ 7, 17]])

In [41]: _.min(0), _.max(0) # verify
Out[41]: (array([ 1, 11]), array([10, 20]))

另一种方法是创建具有[1,10]间隔的2D随机数组,然后为第二列添加10偏移量,从而得到它的[11,20]间隔-

^{pr2}$

相关问题 更多 >