在NumPy中,创建一个二维数组的邻居数组通常涉及到获取每个元素的上下左右邻居。以下是一个示例代码,展示了如何实现这一点:
import numpy as np
def get_neighbors(arr):
rows, cols = arr.shape
neighbors = np.zeros((rows, cols, 4), dtype=arr.dtype)
# 上邻居
neighbors[:-1, :, 0] = arr[1:, :]
# 下邻居
neighbors[1:, :, 1] = arr[:-1, :]
# 左邻居
neighbors[:, :-1, 2] = arr[:, 1:]
# 右邻居
neighbors[:, 1:, 3] = arr[:, :-1]
return neighbors
# 示例二维数组
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
neighbors = get_neighbors(arr)
print(neighbors)
通过这些方法,可以有效地从NumPy二维数组中的每个元素创建邻居数组,并处理常见的边界和性能问题。