首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我如何随机地获取numpy数组中一定数量的元素,并且每个类至少有一个元素?

在numpy中,你可以使用numpy.random.choice函数来随机获取数组中指定数量的元素。该函数可以接受一个参数size来指定获取元素的数量。为了确保每个类至少有一个元素,你可以使用numpy.unique函数获取数组中的唯一值,并将其作为choice函数的可选项。以下是一个示例代码:

代码语言:txt
复制
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数组并输出。

这里没有提及腾讯云相关产品和产品介绍链接地址,因为没有具体和云计算相关的产品和服务与该问题相关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券