【问题标题】:Python, random sample from a vector's non-zero indicesPython,来自向量的非零索引的随机样本
【发布时间】:2014-05-03 18:29:35
【问题描述】:

我有一个名为visited 的一维向量。我想找到其零位置的随机样本 k 索引。

这就是我现在所做的:

random.sample(np.where( visited == 0)[0]) , k) 

有没有更好的方法?

谢谢

【问题讨论】:

  • 你不是说!=0吗?
  • 对不起,我写错了代码,你的答案适用于非零,如何使它适用于零?谢谢。因为我知道访问是二进制的,所以我可以做 ( 1-visited).nonzero() ???有更好的主意吗?
  • 查看我的更新答案

标签: python-2.7 numpy random-sample


【解决方案1】:

你这样做的方式是合理的。但是,您可以使用更直观的nonzero 函数:

random.sample(visited.nonzero(), k)

编辑:

至于您评论中的第二个问题,您可以反转数组的“零”:visited==0。你得到:

random.sample((visited==0).nonzero(), k)

【讨论】:

    猜你喜欢
    • 2019-09-17
    • 1970-01-01
    • 2016-06-10
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2020-09-08
    • 1970-01-01
    相关资源
    最近更新 更多