numpy.random.rand随机数没有给我正确的形状

2024-04-26 04:13:57 发布

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

我想得到一个3 x 3的数组,看起来像这样:

[
    [ 0.76720544  0.1254068   0.08350556],
    [-0.265288   -0.28945529 -0.57703701],
    [ 0.12194653 -0.3044894   0.46754351]
]

使用numpy.random.rand(3 * 3) - 0.5,我得到一个1 x 9的数组,如下所示:

[ 0.2221102, -0.25766852, -0.04060757, 0.23138759, 0.4081494, -0.1911101, 0.1737616, 0.19768079, 0.28941601]

Tags: numpyrandom数组rand
2条回答

正确用法是:

numpy.random.rand(3,3) - 0.5  # , as seperator between dimension-sizes!

看看rand的文档。你知道吗

签名如下:

numpy.random.rand(d0, d1, ..., dn)

你想要的是numpy.random.rand(3, 3),而不是numpy.random.rand(3 * 3)rand将输出的维度作为单独的位置参数。你知道吗

请记住,Python对进入函数的参数进行求值,因此numpy.random.rand(3 * 3)唯一可能的解释是它与numpy.random.rand(9)相同,这就是您得到的:一个长度为9的一维数组。你知道吗

相关问题 更多 >

    热门问题