矩阵元素比率控制



我使用的是代码

import numpy as np
P=np.random.choice([0, 1], (10000, 10, 10, 10))

以生成10000个3D二进制矩阵。但我需要控制每个矩阵中1与0的比率。我的意思是,对于任何给定的矩阵,我希望它70%的元素为1,其余为0。有办法这样做吗?概率方法也会起作用。例如,如果对于任何给定的矩阵,其每个元素为1的概率可以等于70%,那么这也会起作用。

您应该在numpy.random.choice 中指定probability参数

import numpy as np
size = (10000, 10, 10, 10)
prob_0 = 0.3 # 30% of zeros
prob_1 = 1 - prob_0 # 70% of ones
P = np.random.choice([0, 1], size=size, p=[prob_0, prob_1])

然而,这将允许控制整个4d阵列中的比率,而不是在每个子阵列中。

最新更新