我想增加一个矩阵的小部分(变量)[下面的说明代码] - 但是在循环中运行它们看起来是草率和不雅 - 我怀疑是最慢的方法做这个计算。 我的想法之一是创建另一个我想要增加的维度数组(例如下面的2x3),并用零填充这个临时数组,以便它与原始维数相同。然后我可以将它们相加。在Python中增加矩阵的子集
不知道如何完成这个填充numpy
- 或者如果这是做这种计算的最高性能的方式?我想尝试尽可能地优化它。
>>> import numpy as np
>>> a = np.zeros((10,10))
>>> for i in range(3,5):
... for x in range(4,7):
... a[i][x] += 1
>>> a
array([[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 1., 1., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 1., 1., 1., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
哈哈,好吧,这是令人尴尬的。谢谢! – malangi 2011-01-29 09:20:33
所以这似乎需要很长时间在相对较大的矩阵(2000 x 2000) - 通过任何方式我可以优化? – malangi 2011-01-29 09:51:26