如何解决窗口函数在pd.read_sql中不起作用;显示错误
我目前正在使用欧洲足球SQLite数据库在Google合作实验室(Jupyter笔记本)中进行数据分析。
分析目的;对于特定的球队,例如:切尔西,获取每场比赛的胜利和失败标签(使用CASE语句完成),并在此分区之后按赛季和胜负结果对比赛计数。 这些都是在Google collab(Jupyter笔记本)的pd.read_sql()语句中完成的。
该语句运行良好,直到引入了window函数为止。但是查询在SQLite DB浏览器中运行正常(附加图像)。我得到的主要错误是/static
这是代码
OperationalError: near "(": syntax error
这是错误
Home_Perf = pd.read_sql(""" --- CTE to get the wins and loss as a home team
WITH Homes AS (
SELECT season,team_long_name AS HomeTeam,home_team_goal,away_team_goal,CASE
WHEN home_team_goal > away_team_goal THEN 'win'
WHEN home_team_goal < away_team_goal THEN 'loss'
ELSE 'Tie' END AS Win_Loss
FROM match
---Inner JOIN for getting the team name
INNER JOIN team
ON team_api_id = home_team_api_id
WHERE home_team_api_id = 8455)
SELECT season,HomeTeam,COUNT(Win_Loss) OVER(PARTITION BY season) AS counts
FROM homes""",conn)
Home_Perf
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com(将#修改为@)