要查找NumPy数组中的唯一行,可以使用numpy.unique
函数。该函数返回输入数组中的唯一行。以下是查找NumPy数组中唯一行的完整攻略:
步骤一:导入NumPy模块
在使用NumPy模块之前,首先需要导入该模块。可以使用如下代码导入NumPy:
import numpy as np
步骤二:创建NumPy数组
在查找NumPy数组中的唯一行之前,首先需要创建一个NumPy数组。可以使用numpy.array
函数创建NumPy数组。例如:
arr = np.array([[0, 1, 2], [3, 4, 5], [0, 1, 2], [6, 7, 8]])
上述代码创建了一个NumPy数组,其中每行包含三个数字。该数组共有四行。
步骤三:查找唯一行
使用NumPy的unique
函数来查找唯一行。可以使用如下代码查找唯一行:
unique_arr = np.unique(arr, axis=0)
上述代码中的axis=0
表示在第0个轴上进行查找。在本例中,每行代表一条数据,因此0号轴应被设为查找的轴。unique
函数返回一个数组,其中包含输入数组的所有唯一行。
示例1
假设现在要查找一个具有1000行和50列的数组中的唯一行。以下是示例代码:
import numpy as np
# 创建一个具有1000行和50列的随机数组
arr = np.random.randint(0, 10, size=(1000, 50))
# 查找唯一行
unique_arr = np.unique(arr, axis=0)
print(f"原数组形状为{arr.shape}")
print(f"查找到的唯一行共有{unique_arr.shape[0]}行")
上述代码使用了numpy.random.randint
函数来创建了一个具有1000行和50列的随机数组。接着,使用numpy.unique
函数查找唯一行,并打印了查找到的唯一行的行数。输出结果类似于:
原数组形状为(1000, 50)
查找到的唯一行共有929行
示例2
假设在一个数组中有重复的数据行,现在要将这些重复数据行删除并保留唯一的行。以下是示例代码:
import numpy as np
# 创建一个包含重复数据行的数组
arr = np.array([[0, 1, 2], [3, 4, 5], [0, 1, 2], [6, 7, 8]])
# 查找唯一行
unique_arr = np.unique(arr, axis=0)
print("原数组为:")
print(arr)
print("唯一数据行为:")
print(unique_arr)
上述代码中的arr
数组包含了重复的数据行。接着,使用numpy.unique
函数查找唯一行,并打印了原数组和唯一数据行。输出结果类似于:
原数组为:
[[0 1 2]
[3 4 5]
[0 1 2]
[6 7 8]]
唯一数据行为:
[[0 1 2]
[3 4 5]
[6 7 8]]
从输出结果可以看出,重复数据行被删除了,唯一行被返回。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:查找NumPy数组中的唯一行 - Python技术站