【发布时间】:2017-12-19 00:27:27
【问题描述】:
numpy.random.choice 是一个方便的工具,用于从 一维数组中随机抽取元素:
In [94]: numpy.random.choice(numpy.arange(5), 10)
Out[94]: array([3, 1, 4, 3, 4, 3, 2, 4, 1, 1])
但文档指定 a 参数 必须 是一维的。但是,如果我想从二维数组中随机选择行(例如,一个热编码器的随机样本),那么numpy.random.choice 不能再使用了。
所以如果我的输入是:
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
我怎样才能从这个数组中以随机方式获取 n 行,像这样? (n = 10)
array([[ 0., 0., 1.],
[ 1., 0., 0.],
[ 0., 0., 1.],
[ 0., 0., 1.],
[ 1., 0., 0.],
[ 0., 1., 0.],
[ 1., 0., 0.],
[ 0., 0., 1.],
[ 1., 0., 0.],
[ 1., 0., 0.]])
【问题讨论】:
标签: python arrays numpy random