pandasql在python函数中不起作用

2024-09-29 01:25:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用pandasql在pandas数据框架上进行sql连接。它运行良好,无需将它们放入函数中。但在将所有内容组合到一个函数中后,它给了我一个错误,即: 名称错误:未定义全局名称“sqldf”

我使用的代码如下所示:

import pandasql
def myfunction():
    pandasqldf=lambda q:sqldf(q,globals())
    df=pandasqldf("select * from table1 left join table2 on table1.id=table2.id")

我尝试使用locals()来代替,但它仍然不起作用。 如能就如何解决此问题提供任何意见或建议,将不胜感激。谢谢


Tags: 数据函数名称框架id内容pandassql
1条回答
网友
1楼 · 发布于 2024-09-29 01:25:16

您没有包含正确的导入。 我还发现直接调用sqldf(而不是通过lambda)工作得更好。 下面的代码似乎适合我

from pandasql import sqldf
def select_sql(df_a):
    return sqldf("select * from df_a", locals())

df = pd.DataFrame(np.random.randn(10,10))
select_sql(df)

相关问题 更多 >