【问题标题】:Numpy: create random strings and make uniformNumpy:创建随机字符串并统一
【发布时间】:2017-09-16 20:34:50
【问题描述】:

我已经尝试了以下代码:

import numpy as np
let = ['A', 'B', 'C', 'D']
print(np.random.choice(let, 8, p=[0.25, 0.25, 0.25, 0.25]))

输出:

['A' 'B' 'C' 'A' 'A' 'C' 'A' 'A']

它应该是随机的,但我想要以下输出:25% A、25%、B、25% C、25% D。 类似于以下内容:

['A' 'B' 'C' 'A' 'C' 'D' 'D' 'B']

我错过了什么?

【问题讨论】:

  • 那么,输出中的元素数量将是输入的两倍?
  • 输出的元素个数可以是任意长度。我只是选择8作为例子。但实际数字可能是任何数字。例如,100 个 A、100 个 B、100 个 C、100 个 D 也可以。我只希望每个元素占总数的 25%
  • 您想要随机的排列 八个 A、八个 B、八个 C 和八个 D。对吗?
  • 权重总是均匀分布的?
  • 带排列:np.random.permutation(let*4)

标签: python-3.x numpy


【解决方案1】:

每RedEyed评论:

import numpy as np
let = ['A', 'B', 'C', 'D']
print(np.random.permutation(let*4))

【讨论】:

    猜你喜欢
    • 2014-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 2021-09-04
    • 2011-02-28
    • 1970-01-01
    相关资源
    最近更新 更多