【发布时间】:2021-08-23 18:23:42
【问题描述】:
我打算创建 100 个形状为 (8, 8, 8) 的二进制数组,使其每个数组的大约 40% 的元素为零,其余为 1。我有以下代码:
num1=100
size = (num1, 8, 8, 8)
prob_0 = 0.4 # 40% of zeros
prob_1 = 1 - prob_0 # 60% of ones
P = np.random.choice([0, 1], size=size, p=[prob_0, prob_1])
但是,它是概率性的,我正在寻找它的确定性版本。
进一步阐述: 在上面的代码中,理论上我有可能得到一个所有元素都为 1 的数组。我正在寻找的是一种控制值分配的方法,我只能得到只有 40% 的元素为 0 其余为 1 的数组。换句话说,每个 (8, 8, 8 ) 数组应该有恒定数量的 1 和 0。
【问题讨论】:
-
为了清楚起见,约束是在运行之间具有相同的 number 个 0 和 1,但它们的位置不一定是确定性的
-
运行之间? @ronpi
-
第一次运行的输出,与同一程序第二次运行的输出相比