Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 矩阵元比值控制_Python_Numpy_Matrix_Probability - Fatal编程技术网

Python 矩阵元比值控制

Python 矩阵元比值控制,python,numpy,matrix,probability,Python,Numpy,Matrix,Probability,我正在使用代码 将numpy导入为np P=np.随机选择([0,1],(10000,10,10,10)) 生成10000个3D二进制矩阵。但是我需要控制每一个矩阵中1与0的比率。我的意思是,对于任何给定的矩阵,我希望其70%的元素为1,其余元素为0。有没有办法做到这一点?概率方法也会起作用。例如,对于任何给定矩阵,其每个元素为1的概率可能等于70%,这也会起作用。您应该在中指定概率参数 将numpy导入为np 大小=(10000,10,10,10) 概率0=0.3#0的30% 概率1=1-概

我正在使用代码

将numpy导入为np
P=np.随机选择([0,1],(10000,10,10,10))

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

您应该在中指定概率参数

将numpy导入为np
大小=(10000,10,10,10)
概率0=0.3#0的30%
概率1=1-概率0#70%
P=np.random.choice([0,1],size=size,P=[prob\u 0,prob\u 1])

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

我认为这是您可能需要的:
np.random.binomian(1,0.7,(10000,10,10,10))
来源:谢谢。这是否控制了整个4d阵列中的比率?您好,很抱歉回答得太晚,因此您可以通过为
n
p
提供类似阵列的参数来控制每个子阵列项的比率。但是,它们必须与输出参数具有相同的形状,在每个元素中,您可以设置输出数组中相应元素的概率。非常感谢。我很感激。这个代码(
np.random.binomial(1,0.7,(10000,10,10,10))
)也能控制整个4D阵列中的比率吗?不,它也不能。我感谢你的帮助。这很有帮助。