,可以使用numpy库中的函数来实现。具体步骤如下:
import numpy as np
导入numpy库。np.array()
函数创建一个二维numpy数组,例如arr = np.array([[1, 1], [2, 2], [2, 2], [3, 4], [4, 4]])
。np.diff()
来计算数组中元素之间的差值,然后使用np.where()
函数找到差值为0的位置,即相邻相等元素的位置。例如,diff_arr = np.diff(arr, axis=0)
可以计算数组arr中每一行元素之间的差值,然后使用np.where(diff_arr == 0)
找到差值为0的位置。下面是一个示例代码,演示了如何对二维numpy数组的相邻相等元素进行分组:
import numpy as np
# 创建二维numpy数组
arr = np.array([[1, 1], [2, 2], [2, 2], [3, 4], [4, 4]])
# 寻找相邻相等元素
diff_arr = np.diff(arr, axis=0)
equal_indices = np.where(diff_arr == 0)
# 分组相邻相等元素
groups = []
current_group = [tuple(arr[0])]
for i in range(len(equal_indices[0])):
index = equal_indices[0][i]
current_group.append(tuple(arr[index + 1]))
if i == len(equal_indices[0]) - 1 or equal_indices[0][i + 1] != index + 1:
groups.append(current_group)
current_group = [tuple(arr[index + 1])]
# 打印分组结果
for group in groups:
print(group)
以上代码的输出结果为:
[(1, 1)]
[(2, 2), (2, 2)]
[(4, 4)]
这个示例代码中,我们首先创建了一个二维numpy数组arr。然后使用np.diff()函数计算了arr中每一行元素之间的差值,使用np.where()函数找到了差值为0的位置。接着,我们使用循环将相邻相等元素分组,并将每个分组存储在一个列表中。最后,我们打印了分组的结果。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云