我无法创建随机选择数组,其中选择是一个元组。
我收到错误:a must be 1-dimensional
以下是一个例子:
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))
答案 0 :(得分:24)
使用choice
在数组中选择1dim indices ,然后将其编入索引。
在您提供的示例中,只有可能选择的数字会影响选择的性质,而不会影响实际值(0,255)。选择索引是1dim问题choice
知道如何处理。
choices = numpy.array([[0,0,0],[255,255,255]])
idx = numpy.random.choice(len(choices),4)
choices[idx]
答案 1 :(得分:5)
只需添加此答案即可提供基于non-numpy
的答案:
choices = ((0,0,0),(255,255,255))
from random import choice
print tuple(choice(choices) for _ in range(4))
答案 2 :(得分:0)
如果您想专门样品而不更换样品,可以尝试:
import random
choices = ((0,0,0),(1,1,1),(2,2,2),(3,3,3))
random.sample(choices, 2)