1

如何创建一个形状为 (120,120) 的 numpy 数组,前 7 个值为 0.924,其余值为 0.53。我需要这个作为 matplotlib 中的矩阵

4

2 回答 2

3

最快的方法可能是创建一个空数组,用一个常量值填充它,然后更新几个需要更新的值:

>>> x = np.empty((120, 120))
>>> x.fill(0.53)
>>> x[0,:7] = 0.924
>>> x
array([[ 0.924,  0.924,  0.924, ...,  0.53 ,  0.53 ,  0.53 ],
       [ 0.53 ,  0.53 ,  0.53 , ...,  0.53 ,  0.53 ,  0.53 ],
       [ 0.53 ,  0.53 ,  0.53 , ...,  0.53 ,  0.53 ,  0.53 ],
       ..., 
       [ 0.53 ,  0.53 ,  0.53 , ...,  0.53 ,  0.53 ,  0.53 ],
       [ 0.53 ,  0.53 ,  0.53 , ...,  0.53 ,  0.53 ,  0.53 ],
       [ 0.53 ,  0.53 ,  0.53 , ...,  0.53 ,  0.53 ,  0.53 ]])
于 2013-04-09T11:42:02.993 回答
0
--> x = np.array([0.53]*(120*120)).reshape(120,120)
--> x[0,:7] = 0.924

将第一行的前 7 个值填充为 0.924,交换索引中的 0 和 :7 以得到第一列中的前 7 个为 0.924

于 2013-04-09T11:38:25.980 回答