我有一个二维数组A
概率和一维数组 B
的正态分布。我想将 A
中的每个概率相乘通过B
,这样得到的数组 C
现在是三维的,第三个轴现在是原始一维数组的长度 B
。
执行此操作最Pythonic的方式是什么?
最佳答案
>>> A = np.array([[0.2, 0.3],
[0.1, 0.4]])
>>> B = np.array([1,2,3])
>>> C = A[...,None] * B
array([[[0.2, 0.4, 0.6],
[0.3, 0.6, 0.9]],
[[0.1, 0.2, 0.3],
[0.4, 0.8, 1.2]]])
>>> C.shape
(2, 2, 3)
关于python - 将 2D 和 1D 数组相乘以获得 3D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50076262/