我正在尝试获得一个看起来像这样的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]
答案 0 :(得分:1)
您需要numpy.random.rand(3, 3)
,而不是numpy.random.rand(3 * 3)
。 rand
将输出的维度作为单独的位置参数。
请记住,Python会评估进入函数的参数,因此对numpy.random.rand(3 * 3)
唯一可能的解释是它与numpy.random.rand(9)
相同,这就是你得到的:一个 - 长度为9
的维数组。
答案 1 :(得分:0)
正确用法是:
numpy.random.rand(3,3) - 0.5 # , as seperator between dimension-sizes!
查看rand的文档。
签名上写着:
numpy.random.rand(d0,d1,...,dn)