Python 如何计算矢量形式的乘法?

Python 如何计算矢量形式的乘法?,python,numpy,Python,Numpy,我想以矢量形式计算以下表达式,而不是使用for循环。如果有人能帮助我,我将不胜感激 j = 1 to J s = 1 to S t = 1 to T s' = 1 to S p.shape = (J,T,S) prob.shape = (S) Xi.shape = (T,S,S) Pbar.shape = (J,T,S) 这就是你想要的: >>>将numpy作为np导入 >>>j,s,t=5,6,7个随机值 >>>p=np.random.randj,t,s >>>prob=np.rand

我想以矢量形式计算以下表达式,而不是使用for循环。如果有人能帮助我,我将不胜感激

j  = 1 to J
s  = 1 to S
t  = 1 to T
s' = 1 to S
p.shape = (J,T,S)
prob.shape = (S)
Xi.shape = (T,S,S)
Pbar.shape = (J,T,S)
这就是你想要的:

>>>将numpy作为np导入 >>>j,s,t=5,6,7个随机值 >>>p=np.random.randj,t,s >>>prob=np.random.rands >席=随机数RANTT,S,S >>>pbar=np.random.randj,t,s >>P> JTS= NP,EnSUM'TSS,JTS,S->JTS’,席席,P,PROB/NP。EsSuth'TSS,S->S’,XI,PROB >>>p_jts.shape==j,t,s 符合事实的
请解释一下符号,我刚找到einsum。真是太神奇了。非常感谢。有一个问题,如何在tss中强制求和超过s。在我的公式中,席在0或1,PR是概率。所以,最终结果是P的加权平均值。我想我需要把代码像NP.EnSUM'TSS,JTS,S->JTS’,席,P,PrimuloPoT,修改编辑答案。