2

我有一组点xyz8,

我想随机获得 10% 的分数。

然后我想随机得到剩下的90%中的10%

然后我想随机得到剩下的70%的10%

等直到完成所有点

我该怎么做呢?

非常感谢任何建议

4

2 回答 2

1

我将此解释为您想将这些点分成 10 个大小相等的段。您可以通过改组它们并重新调整列表来简单地做到这一点:

np.random.shuffle(points)
points.shape = (10,-1) + points.shape[1:]

然后你可以访问前 10% as points[0],第二个 aspoints[1]等等。

这仍然适用于多维数组,因为 shuffle 只会沿第一个轴随机播放。

于 2013-09-13T23:01:16.127 回答
1

就像是:

import random

l = [1,2,3,4]
random.shuffle(l)
while len(l) > 0:
    choice = l[:len(l) / 10]
    l = l[len(l) / 10:]
于 2013-09-13T22:31:28.263 回答