scipy.stats rankdata:错误“rankdata() 得到一个意外的关键字参数‘axis’”

问题描述

我在使用 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"),)

错误

Error

解决方法

我遇到了同样的错误(在 scipy 1.4.1 上),并且能够通过更新 scipy 来修复。轴选项存在于最新的 scipy 中:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.rankdata.html