python 将一维概率数组转换为二维数组

python transform 1d array of probabilities to 2d array

我有一组概率:

l = [0.9, 0.2, 0.4]

我想把它变成二维数组:

l = [0.9 0.1
     0.2 0.8
     0.4 0.6]

最好的方法是什么? 谢谢!

一个想法是使用 numpy.hstack:

l = [0.9, 0.2, 0.4]

a = np.array(l)[:, None]

arr = np.hstack((a, 1 - a))
print (arr)
[[0.9 0.1]
 [0.2 0.8]
 [0.4 0.6]]

或使用numpy.c_:

a = np.array(l)
arr = np.c_[a, 1 - a]
print (arr)