问题描述
我正在尝试使用 sql 语法查询 pandas 数据框。我导入了“import pandasql as ps”,并加载了一个数据框。然后我输入了这个简单的语法:
ps.sqldf(
"""
SELECT department,first_name,AVG(salary) OVER (PARTITION BY department) AS average
FROM employee
GROUP BY department,salary
"""
).head()
它返回了这个错误:
PandasqlException Traceback (most recent call last)
<ipython-input-6-2ecbea651075> in <module>
----> 1 ps.sqldf(
2 """
3 SELECT department,AVG(salary) OVER (PARTITION BY department) AS average
4 FROM employee
5 GROUP BY department,salary
~/.pyenv/versions/3.9.0/lib/python3.9/site-packages/pandasql/sqldf.py in sqldf(query,env,db_uri)
154 >>> sqldf("select avg(x) from df;",locals())
155 """
--> 156 return Pandasql(db_uri)(query,env)
~/.pyenv/versions/3.9.0/lib/python3.9/site-packages/pandasql/sqldf.py in __call__(self,query,env)
61 result = read_sql(query,conn)
62 except DatabaseError as ex:
---> 63 raise PandasqlException(ex)
64 except ResourceClosedError:
65 # query returns nothing
PandasqlException: (sqlite3.OperationalError) near "(": Syntax error
[sql:
SELECT department,salary
]
(Background on this error at: http://sqlalche.me/e/14/e3q8)
我尝试重写整个查询,从 notebook 中再次复制和粘贴,但仍然无法解决“(”问题。请你们告诉我如何修复 ti?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)