Это также простое решение для кроссбраузеров:
var addEvent = window.attachEvent||window.addEventListener;
var event = window.attachEvent ? 'onclick' : 'click';
addEvent(event, function(){
alert('Hello!')
});
Вместо «щелчка» может быть любое событие, конечно.
Рассмотрите возможность использования смещения в 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)}
Вы можете использовать np.diag
, чтобы извлечь k
-ю диагональ, а затем сложить ее.
{str(i):np.sum(np.diag(match_score_matrix,k=i)) for i in range(-15,8)}