首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3d随机采样

3d随机采样
EN

Stack Overflow用户
提问于 2013-09-14 06:27:32
回答 2查看 745关注 0票数 2

我有一组点xyz8,

我想随机得到10%的点数。

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

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

依此类推,直到所有点都完成

我该怎么做呢?

我们非常感谢您的建议。

EN

回答 2

Stack Overflow用户

发布于 2013-09-14 06:31:28

类似于:

代码语言:javascript
复制
import random

l = [1,2,3,4]
random.shuffle(l)
while len(l) > 0:
    choice = l[:len(l) / 10]
    l = l[len(l) / 10:]
票数 1
EN

Stack Overflow用户

发布于 2013-09-14 07:01:16

我将其解释为您想要将这些点分割成10个大小相等的部分。您可以简单地通过打乱它们并重塑列表来完成此操作:

代码语言:javascript
复制
np.random.shuffle(points)
points.shape = (10,-1) + points.shape[1:]

然后,您可以访问前10%作为points[0],第二作为points[1],依此类推。

这仍然适用于多维数组,因为shuffle只会沿着第一个轴进行随机排列。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18796191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档