You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL查询中使用已获取的pandas DataFrame作为数据源

实现方案

你可以直接用支持SQL查询pandas DataFrame的第三方库实现需求,不需要改写原有SQL逻辑,两种最常用的方案如下:

方案1:pandasql(入门门槛最低)

pandasql是专门为pandas设计的SQL查询工具,底层基于SQLite,完全兼容标准SQL语法,使用门槛极低。

  • 安装命令:pip install pandasql
  • 使用示例:
from pandasql import sqldf

# 直接写入你要执行的SQL,和操作普通数据库表一样写df作为表名
sql = """
SELECT id, type, value
FROM df
GROUP BY id, type
"""
# 执行查询,globals()代表从全局变量读取df,局部变量场景换为locals()即可
query_result = sqldf(sql, globals())

方案2:DuckDB(性能优先,适合大数据量)

DuckDB是嵌入式分析型数据库,支持零拷贝直接读取pandas DataFrame作为查询表,查询性能远高于pandasql,对复杂SQL(窗口函数、多表关联、子查询等)的支持也更完善。

  • 安装命令:pip install duckdb
  • 使用示例:
import duckdb

sql = """
SELECT id, type, value
FROM df
GROUP BY id, type
"""
# 直接执行SQL即可自动识别当前环境中的df作为表,执行后转为DataFrame返回
query_result = duckdb.sql(sql).df()

两种方案都不需要你改写原有成熟的SQL逻辑,直接复用之前的查询语句即可,完全避免了转写长SQL为pandas API的冗余工作。

内容的提问来源于stack exchange,提问作者french_fries

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:45:03