两个numpy技巧(模式识别总结)

发布时间 2023-09-13 14:01:01作者: 醉一心

1. 查找符合特定条件的Numpy ndarray对象中元素的数量

np.count_nonzero()函数可以用来完成此操作。以下是使用np.count_nonzero()函数快速查找数组中小于5的元素数量的示例:

count = np.count_nonzero(array < 5)

在此示例中,我们使用 array < 5 来获取array中小于5的所有元素,然后使用 np.count_nonzero()函数来计算满足这些条件的元素的数量。该函数返回一个整数,表示满足条件的元素的数量。请注意,在此示例中,我们假设 array 是一个一维数组。如果array是一个多维数组,则需要将其展平为一维数组,然后再使用 np.count_nonzero()函数,或使用 axis参数指定计数的轴。

2. 使用np.logical_not()函数区分训练集和测试集

修改后的代码如下:

train_index = np.where((np.mod(np.arange(400), 10) <= 5) & (np.mod(np.arange(400), 10) != 0))
train_set = faces[:, train_index]
test_set = faces[:, np.logical_not(train_index)]

通过使用 np.logical_not()函数,我们可以将train_index取反以获取测试集数据,即除了train_set之外的所有数据。