可以使用NumPy的切片(slicing)功能来将一个小的NumPy数组赋值给大的NumPy数组。下面是一个示例代码:
import numpy as np
# 创建一个大小为 (10, 10) 的大数组和一个大小为 (3, 3) 的小数组
large_array = np.zeros((10, 10))
small_array = np.ones((3, 3))
# 将小数组赋值给大数组的某个区域
large_array[2:5, 3:6] = small_array
# 打印大数组
print(large_array)
该代码首先创建一个大小为 (10, 10) 的大数组和一个大小为 (3, 3) 的小数组。然后,使用切片将小数组赋值给大数组的某个区域。在这个示例中,将小数组赋值给大数组的第 3 行到第 5 行、第 4 列到第 6 列的区域。最后,打印大数组以检查结果。
输出结果如下:
[[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. 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. 0.]]
从输出结果中可以看到,大数组的指定区域已经成功地被小数组赋值。