在 pandas 中执行 sql 查询
sql 代表结构化查询语言;它是一种用于与关系数据库交互的著名语言。在 python 中运行 sql 查询有很多方法。
在 python 中使用 pandasql
运行 sql 查询
这个包有一个类似 r
中的 sqldf
的 sqldf
方法。pandasql
提供了一种更熟悉的方式来对 dataframe 执行 crud 操作。
在我们使用 pandasql
之前,我们必须先使用以下命令安装它。
#python 3.x
pip install -u pandasql
我们将从 pandasql
模块导入 sqldf
方法来运行查询。然后我们将调用带有两个参数的 sqldf
方法。
第一个参数是字符串格式的 sql 查询。第二个参数是一组会话/环境变量(globals()
或 locals()
)。
在以下代码中,首先,我们将 student.csv
数据上传到 jupyter
笔记本的当前工作目录。然后我们在 dataframe 上使用传统的 sql select
查询读取了学生的记录;它将显示 dataframe 中的所有记录。
# python 3.x
import pandas as pd
from pandasql import sqldf
def mysql(q):
return sqldf(q, globals())
df = pd.read_csv("student.csv")
mysql("select * from df")
输出:
我们在 sql 查询中使用了 where
子句,仅显示满足以下代码中给定条件的选定记录。
# python 3.x
import pandas as pd
from pandasql import sqldf
def mysql(q):
return sqldf(q, globals())
df = pd.read_csv("student.csv")
mysql("select * from df where department = 'se'")
输出:
在 python 中使用 duckdb
运行 sql 查询
duckdb
是一个 python api 和一个使用 sql 查询与数据库交互的数据库管理系统。
要使用 duckdb
,我们应该首先使用以下命令安装它。
#python 3.x
pip install duckdb
在下面的代码中,我们导入了 duckdb
和 pandas 包,读取 csv 文件并通过使用 duckdb
调用 query()
方法来运行查询。我们将查询(作为参数)传递给 query()
方法。
代码将结果作为 dataframe 返回。我们可以根据 dataframe 编写我们选择的任何 sql 查询。
# python 3.x
import pandas as pd
import duckdb
df = pd.read_csv("student.csv")
duckdb.query("select * from df").df()
输出:
在 python 中使用 fugue
运行 sql 查询
fugue
是分布式计算的统一接口,允许用户在 spark 和 dask 上运行 python、pandas 和 sql 代码而无需重写。
我们必须先使用以下命令安装它才能使用 fugue
。
#python 3.x
pip install fugue[sql]
我们在以下代码中导入了 pandas 和 fugue
包,并使用 csv 文件加载了 dataframe。然后我们将我们的 sql 查询传递给 fsql()
方法并使用它调用 run()
方法。
# python 3.x
import pandas as pd
from fugue_sql import fsql
df = pd.read_csv("student.csv")
query = "select * from df print"
fsql(query).run()
输出:
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
pandas dataframe dataframe.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:python
-
dataframe.shift() 函数是将 dataframe 的索引按指定的周期数进行移位。
python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:python
-
python pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:python
-
pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。
pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:python
-
本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。
pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:python
-
本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。
在 python 中将 pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:python
-
了解如何在 python 中将 pandas 系列日期时间转换为字符串