问题描述
我在使用 scipy.stats 中的 rankdata 时遇到错误。不确定问题出在哪里以及如何解决。将不胜感激的帮助! (我正在添加一些代码以供参考)
with model:
trace.extend(az.from_pymc3(posterior_predictive=pm.sample_posterior_predictive(trace)))
pp = trace.posterior_predictive
const = trace.constant_data
team_da = trace.posterior.team
pp["home_win"] = (
(pp["home_points"] > pp["away_points"]) * 3 # home team wins and gets 3 points
+ (pp["home_points"] == pp["away_points"]) * 2 # tie -> home team gets 2 points
)
pp["away_win"] = (
(pp["home_points"] < pp["away_points"]) * 3
+ (pp["home_points"] == pp["away_points"]) * 2
)
groupby_sum_home = pp.home_win.groupby(team_da[const.home_team]).sum()
groupby_sum_away = pp.away_win.groupby(team_da[const.away_team]).sum()
pp["teamscores"] = groupby_sum_home + groupby_sum_away
from scipy.stats import rankdata
pp["rank"] = xr.apply_ufunc(
rankdata,-pp["teamscores"],input_core_dims=[["team"]],output_core_dims=[["team"]],kwargs=dict(axis=-1,method="min"),)
错误:
解决方法
我遇到了同样的错误(在 scipy 1.4.1 上),并且能够通过更新 scipy 来修复。轴选项存在于最新的 scipy 中:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rankdata.html