python中的多项式样本生成

python中的多项式样本生成,python,numpy,random-sample,Python,Numpy,Random Sample,我能够使用以下代码行从期望大小的概率数组生成二项样本(输出应该与输入概率数组形状的大小相同) prob_list = [[0.3,0.3,0.4],[0.4,0.3,0.3]] prob_array = np.asarray(prob_list) y_sample = np.random.binomial(size=prob_array.shape, n=1, p=prob_array) print(y_sample) 输出是 [[0 0 0] [1 1 1]] 输入概率(2*3)和输出样本

我能够使用以下代码行从期望大小的概率数组生成二项样本(输出应该与输入概率数组形状的大小相同)

prob_list = [[0.3,0.3,0.4],[0.4,0.3,0.3]]
prob_array = np.asarray(prob_list)
y_sample = np.random.binomial(size=prob_array.shape, n=1, p=prob_array)
print(y_sample)
输出是

[[0 0 0]
[1 1 1]]
输入概率(2*3)和输出样本(2*3)的形状相同

多项式也可以这样做吗?可以为一行生成多项式样本

y_sample = np.random.multinomial(size=1, n=1, pvals=prob_array[0])
print(y_sample)
[[1 0 0]]

如何将其推广到与二项式相同的输出(输出样本形状=输入概率形状?

我担心您将不得不手动循环
prob\u数组
pvals
目前仅限于单个1D概率数组。

谢谢您的评论。如果我们有多项式的通用版本,那就太好了。我将对此iss开一张罚单ue。