python - 元组的 Numpy 随机选择

标签 python numpy random

我无法创建一个随机选择数组,其中一个选择是一个元组。

我得到错误:a 必须是一维的

这是一个例子:

choices = ((0,0,0),(255,255,255))
numpy.random.choice(choices,4)

还有其他方法吗?

预期结果:

一个 numpy 数组,由从选择元组中随机选择的 4 个元素组成。

((0,0,0),(0,0,0),(255,255,255),(255,255,255))

最佳答案

使用 choice 将 1dim indices 选择到数组中,然后对其进行索引。

在您提供的示例中,只有 number 个可能的选择会影响选择的性质,而不是实际值 (0, 255)。选择索引是 1dim 问题 choice 知道如何处理。

choices = numpy.array([[0,0,0],[255,255,255]])
idx = numpy.random.choice(len(choices),4)
choices[idx]

关于python - 元组的 Numpy 随机选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23445936/

相关文章:

arrays - 使用最小间隔/分布填充随机数数组?

java - 打乱数组列表中的元素组

c - 在C中生成10到1000000000之间的随机数

python - 特殊过滤器 pandas dataframe

python - 使用 CRAM-MD5 的 SMTP 身份验证

python - 下面的程序是如何运行的?

python - 在 Python Tkinter 中保留输入字段

python - 使用 np.einsum 进行光线转换的矢量化范围

python - x 上的对数

Python Pandas 多索引 : keeping same length of level=1 with all level=0 indexes