查找NumPy数组中的唯一行

  • Post category:Python

查找NumPy数组中的唯一行,可以通过以下步骤实现:

1.使用NumPy库中的np.unique()函数,对数组进行去重操作,并指定axis=0参数按行进行去重。

2.得到去重后的数组之后,可以通过np.vstack()函数垂直拼接数组,得到一个新的数组,其中每一行是唯一的。

下面以两条示例来说明:

第一条示例:

import numpy as np

# 创建示例数组
arr = np.array([[1, 2, 3], [4, 5, 6], [1, 2, 3]])

# 使用np.unique()函数对行进行去重
unique_arr, index = np.unique(arr, axis=0, return_index=True)

# 输出去重后的数组
print(unique_arr)

运行结果为:

[[1 2 3]
 [4 5 6]]

第二条示例:

import numpy as np

# 创建示例数组
arr = np.array([[1, 2, 3], [4, 5, 6], [1, 2, 3], [7, 8, 9]])

# 使用np.unique()函数对行进行去重
unique_arr, index = np.unique(arr, axis=0, return_index=True)

# 使用np.vstack()函数垂直拼接数组
result_arr = unique_arr[index]

# 输出去重后的数组
print(result_arr)

运行结果为:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

可以看到,第二条示例中,通过使用np.vstack()函数垂直拼接得到了一个新的数组,其中每一行是唯一的。这个过程中,通过index数组取得了unique_arr中位置唯一的元素,从而得到了最终的输出结果。