循环遍历 numpy 矩阵元素

HJA24

我有以下矩阵,其中每个元素代表特定得分线的概率。 在此处输入图片说明

y 轴是主队的进球数,x 轴是客队的进球数。例如,0-0 的得分线是 1.21,而 4-3 的得分线是 0.84。我知道主场获胜的概率等于

   np.sum(np.tril(match_score_matrix, -1))

抽签的概率等于:

   np.sum(np.diag(match_score_matrix))

损失的概率等于:

   np.sum(np.triu(match_score_matrix, 1)),

现在,我想知道每个进球差异的概率。在这个矩阵中,以下目标差异结果是可能的 [-6, -5, ..., 0, ..., 15)。如何编写一个循环来计算每个结果的概率?

def get_probabilities(match_score_matrix, max_goals_home, max_goals_away):
    return dict({'max_goals_away': np.something,
                 '-5', np.something,
                 '-4', np.something,
                 ... 
                 '0', np.diag(match_score_matrix)),
                 '1', np.something
                 ...
                 'max_goals_home', np.something })

如何在易于使用的循环中编写它?先感谢您!

完美的

考虑使用偏移np.diagonal因为对角线是当主客队之间的进球数相等时,向上偏移是客队比主队高一球时的概率。相反,当主队比客队高一球时,向下偏移是概率。因此,将两个概率相加。

# AWAY ONE GOAL HIGHER
np.sum(np.diagonal(match_score_matrix, offset=1))    
# HOME ONE GOAL HIGHER
np.sum(np.diagonal(match_score_matrix, offset=-1))

# AWAY TWO GOALS HIGHER
np.sum(np.diagonal(match_score_matrix, offset=2))    
# HOME TWO GOALS HIGHER
np.sum(np.diagonal(match_score_matrix, offset=-2))
...

# AWAY MAX GOALS HIGHER USING array.shape
np.sum(np.diagonal(match_score_matrix, offset=match_score_matrix.shape[0]))
# HOME MAX GOALS HIGHER USING array.shape
np.sum(np.diagonal(match_score_matrix, offset=-match_score_matrix.shape[0]))

对于您需要的字典,请使用字典理解

def get_probabilities(match_score_matrix, max_goals_home, max_goals_away):

    # DICTIONARY COMPREHENSION 
    return {str(i): np.sum(np.diagonal(match_score_matrix, offset=i)) for i in range(-15,15)}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

numpy:如何使用矩阵元素作为索引?

来自分类Dev

numpy数组每个元素与矩阵相乘

来自分类Dev

遍历numpy中的矩阵

来自分类Dev

如何对Numpy矩阵进行逐元素运算?

来自分类Dev

优化numpy矩阵运算(当前使用for循环)

来自分类Dev

避免循环遍历以获取numpy中元素的乘积

来自分类Dev

NumPy中的逐元素矩阵乘法

来自分类Dev

Numpy元素阶矩阵的阶乘

来自分类Dev

使用numpy.where()遍历矩阵

来自分类Dev

遍历父元素循环的子元素

来自分类Dev

检查numpy矩阵中特定元素的值

来自分类Dev

Python for循环未遍历所有元素

来自分类Dev

循环遍历任意维度的numpy数组中的元素

来自分类Dev

使用numpy的矩阵martix中的元素总和

来自分类Dev

numpy:如何使用矩阵元素作为索引?

来自分类Dev

如何从nxn矩阵的用户添加numpy矩阵中的用户元素?

来自分类Dev

从某个元素开始循环遍历xml元素

来自分类Dev

通过滑脂猴子循环遍历元素

来自分类Dev

Bash循环遍历元素列表

来自分类Dev

循环遍历元素的多维数组?

来自分类Dev

如何对Numpy矩阵进行逐元素算术?

来自分类Dev

优化numpy矩阵运算(当前使用for循环)

来自分类Dev

For循环遍历每个子元素

来自分类Dev

如何从numpy矩阵中排除元素

来自分类Dev

避免使用numpy矩阵进行for循环

来自分类Dev

遍历父元素循环的子元素

来自分类Dev

使用循环遍历列表中存储的矩阵

来自分类Dev

循环遍历矩阵乘法R

来自分类Dev

遍历矩阵的元素