gpt4 book ai didi

python - 在 Python 中增加矩阵的子集

转载 作者:行者123 更新时间:2023-11-28 20:28:35 24 4
gpt4 key购买 nike

我想增加矩阵的一小部分(变量)[下面的说明性代码] - 但通过循环运行它们似乎草率且不雅 - 我怀疑这是执行此计算的最慢方法。我的想法之一是创建另一个数组,我想要增加的维度(在下面的示例中为 2x3)并用零填充这个临时数组,使其与原始数组具有相同的维度。然后我可以总结它们。

不确定如何在 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.]])

最佳答案

您可以通过以下方式简单地做到这一点:

 a[3:5,4:7] += 1

关于python - 在 Python 中增加矩阵的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com