在numpy中,你可以使用numpy.random.choice函数来随机获取数组中指定数量的元素。该函数可以接受一个参数size来指定获取元素的数量。为了确保每个类至少有一个元素,你可以使用numpy.unique函数获取数组中的唯一值,并将其作为choice函数的可选项。以下是一个示例代码:
import numpy as np
# 假设你有一个numpy数组arr
arr = np.array([1, 2, 3, 1, 2, 3, 4, 5, 6])
# 获取数组中的唯一值
unique_values = np.unique(arr)
# 初始化结果数组
result = []
# 对每个唯一值进行遍历
for value in unique_values:
# 获取当前唯一值的索引
indices = np.where(arr == value)[0]
# 随机选择一个索引,并将对应元素添加到结果数组
random_index = np.random.choice(indices)
result.append(arr[random_index])
# 将结果数组转换为numpy数组
result = np.array(result)
# 输出结果
print(result)
这段代码中,首先使用np.unique函数获取数组arr中的唯一值。然后,对于每个唯一值,使用np.where函数获取其在数组中的索引,然后使用np.random.choice函数从这些索引中随机选择一个,并将对应的元素添加到结果数组中。最后,将结果数组转换为numpy数组并输出。
这里没有提及腾讯云相关产品和产品介绍链接地址,因为没有具体和云计算相关的产品和服务与该问题相关。
领取专属 10元无门槛券
手把手带您无忧上云