python - 如何将小型二维阵列添加到大型阵列?

标签 python arrays numpy slice

我有一个较大的二维数组,我想添加一个较小的二维数组。

from numpy import *
x = range(25)
x = reshape(x,(5,5))
print x
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]
 [15 16 17 18 19]
 [20 21 22 23 24]]
y = [66,66,66,66]
y = reshape(y,(2,2))
print y
[[66 66]
 [66 66]]

我想从 1,1 开始将数组 y 中的值添加到 x 以便 x 看起来像这样:

[[ 0  1  2  3  4]
 [ 5 72 73  8  9]
 [10 77 78 13 14]
 [15 16 17 18 19]
 [20 21 22 23 24]]

切片可以实现吗?有人可以建议 slice 语句的正确格式来实现这一点吗?

谢谢

最佳答案

是的,您可以在 numpy 数组上使用切片:

In [20]: x[1:3,1:3] += y

In [21]: print x
[[ 0  1  2  3  4]
 [ 5 72 73  8  9]
 [10 77 78 13 14]
 [15 16 17 18 19]
 [20 21 22 23 24]]

关于python - 如何将小型二维阵列添加到大型阵列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157040/

相关文章:

python - ValueError : Error when checking input: expected conv2d_36_input to have shape (3, 32, 32) 但得到形状为 (1, 10, 10) 的数组

python - 如何在 3D hist python/matplotlib 中自定义轴

python - 使用python按字节修改图像

arrays - Laravel 验证对象 JSON 数组

python - 如何有效地将Matlab引擎数组转换为numpy ndarray?

python - 如何使用 for 循环将列标题列表添加到多个文件

python - 在遍历字典时使用递归函数来填充一个空的字典列表

php - 如何在PHP中单独输出表列值?

python - 使用 Python 的高效滚动修剪均值

python - 通过将行和列乘以 -1 使矩阵中的整数和最大