2017-09-05 37 views
-2

我试图得到一个3×3阵列,看起来像这样:numpy.random.rand没有给我正确的形状

[ 
    [ 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×9阵列看起来是这样的:

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

回答

1

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

记住,Python的评估参数进入该功能,所以numpy.random.rand(3 * 3)唯一可能的解释是,这是一样的numpy.random.rand(9),这是你得到了什么:长度9的一维数组。

+0

你是对的谢谢 –

0

正确的用法是:

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

看的rand的文档。

签名上写着:

numpy.random.rand(D0,D1,...,DN)

+0

完全忽略,谢谢 –