gpt4 book ai didi

python - SQLAlchemy:pandas sql_query 中的聚合查询

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:31 27 4
gpt4 key购买 nike

模型:League有很多Season有很多Round有很多Game有两个一对一与团队的关系。

每场比赛的总进球数保存在 SQLAlchemy column_property 中。

我不知道如何将正确的查询传递给 pandas read_sql。我尝试的所有变体都不起作用,包括:

pandoc = pd.read_sql(Match.query.join(Round).
join(Season).
join(League).filter(Match.round).filter(Round.season).filter(Season.league)
.statement, db.session.bind)

输出如下:(我已经放弃了一些回合)

  total_goals   round_id  home_goals  away_goals finished
0 1.0 sxxx-0 1.0 0.0 True
1 0.0 sxxx-0 0.0 0.0 True
2 2.0 sxxx-0 2.0 0.0 True
3 3.0 sxxx-0 3.0 0.0 True

我想要的理想情况是:

League    total_goals
league.name total_goals (across all seasons)

尝试从League向下遍历似乎更合乎逻辑,但这也没有奏效。

最佳答案

这有效,但我不确定这是否是“最好”的方式:

pandoc = pd.read_sql(League.query.
join(Season).
join(Round).
join(Match).with_entities(func.sum(Match.total_goals).label('total_goals'), League.name).
group_by(League.name).
statement, db.session.bind)

关于python - SQLAlchemy:pandas sql_query 中的聚合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41347833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com