要创建一个5x5的二维数组,并在其中选择一个2x2的子数组进行旋转,然后将旋转后的子数组添加回原始数组,可以按照以下步骤进行:
首先,我们需要创建一个5x5的二维数组。可以使用Python来实现这一点。
import numpy as np
# 创建一个5x5的二维数组
original_array = np.array([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]
])
print("Original Array:")
print(original_array)
接下来,我们需要选择一个2x2的子数组。假设我们选择从位置(1, 1)开始的2x2子数组。
# 选择从位置(1, 1)开始的2x2子数组
sub_array = original_array[1:3, 1:3]
print("Sub Array:")
print(sub_array)
我们可以使用NumPy的rot90
函数来旋转2x2子数组。
# 旋转2x2子数组
rotated_sub_array = np.rot90(sub_array)
print("Rotated Sub Array:")
print(rotated_sub_array)
最后,我们将旋转后的子数组添加回原始数组中相同的位置。
# 将旋转后的子数组添加回原始数组
original_array[1:3, 1:3] = rotated_sub_array
print("Modified Array:")
print(original_array)
以下是完整的代码示例:
import numpy as np
# 创建一个5x5的二维数组
original_array = np.array([
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]
])
print("Original Array:")
print(original_array)
# 选择从位置(1, 1)开始的2x2子数组
sub_array = original_array[1:3, 1:3]
print("Sub Array:")
print(sub_array)
# 旋转2x2子数组
rotated_sub_array = np.rot90(sub_array)
print("Rotated Sub Array:")
print(rotated_sub_array)
# 将旋转后的子数组添加回原始数组
original_array[1:3, 1:3] = rotated_sub_array
print("Modified Array:")
print(original_array)
Original Array:
[[ 1 2 3 4 5]
[ 6 7 8 9 10]
[11 12 13 14 15]
[16 17 18 19 20]
[21 22 23 24 25]]
Sub Array:
[[ 7 8]
[12 13]]
Rotated Sub Array:
[[13 7]
[12 8]]
Modified Array:
[[ 1 2 3 4 5]
[ 6 13 7 9 10]
[11 12 8 14 15]
[16 17 18 19 20]
[21 22 23 24 25]]
np.rot90
函数旋转了选中的子数组。通过这种方式,我们可以轻松地创建、旋转和替换二维数组中的子数组。
领取专属 10元无门槛券
手把手带您无忧上云