在Python中写SQL,使用pandasql库实现SQL数据查询

yumo6661个月前 (03-26)技术文章31

在pandas中实现SQL查询其实很简单,通常我们在SQL软件中写SQL,在Python软件中写Python,但是,我要是在Python中写SQL能否实现呢?要知道Python可是万能的,Python除了不能生孩子,其他事都能做。

这里给大家介绍pandasql库,它居然能在Python中写SQL,而且SQL语法在Python中完全支持,这就是下文我们详细介绍的pandasql库,在Python中写SQL能够做到手写自如,下面一起来学习~

1、pandasql库安装

要使用pandasql库的功能,需要提前下载pandasql库,这个库跟pandas库很像,只是末尾缀加了sql,通常下载库,我们需要到终端输入pip install pandasql进行下载,这里只需要在代码行里加一个感叹号"!",就可以直接下载成功。

!pip install pandasql

下载库后,导入pandasql库进行使用。

#导入pandasql库
import pandasql as sql

2、pandasql库使用

为了更好地演示pandasql库如何使用,这里首先导入我们的数据文件,使用pandas库导入本文所使用的电影文件数据。

import pandas as pd
df=pd.read_excel(r'C:\Users\尚天强\Desktop\数据合并.xlsx')

#重命名
df.rename(columns={'累计票房(万)':'累计票房'}, inplace = True)
df.head()

其次导入pandasql库,SQL运行都需要借助pandasql库,我们使用的是sql.sqldf(""" *** """)命令,其中***就是你要写的SQL语句,写SQL不难,很容易入门,只要将SQL语句写入到括号内,即可实现数据查询。

import pandasql as sql

导入pandasql库后,这里需要将电影的累计票房分为'超低票房'、'低票房'、'中等票房'、'高票房'、'超高票房',使用case when进行分组,以end结尾,成功实现在pandas中使用case when查询,查询结果如下所示。

#对电影的累计票房使用CASE WHEN分组
sql.sqldf("""select 电影名称,电影导演,电影主演,累计票房,
case
when 累计票房 < 100000 then '超低票房'
when 累计票房 < 200000 then '低票房'
when 累计票房 < 300000 then '中等票房'
when 累计票房 < 400000 then '高票房'
else '超高票房'
end as '电影票房分组' from df
where 累计票房 is not null;""")

如果要查询不同电影发行公司电影的票房情况,使用group by函数分组,sum函数做聚合运算,并使用order by函数降序排列,即可查询具体的数据结果。

#不同电影发行公司电影的票房情况,并降序排列
sql.sqldf("""select 发行公司,sum(累计票房) as '累计票房/万' from df
             group by 发行公司
             order by sum(累计票房) desc;""")

要查询每一个电影主演累计票房最高的那一部电影信息,需要做一个子查询,先子查询每一个电影主演累计票房的最大值,然后作为外部where子句的筛选条件。

#查找每一个电影主演累计票房最高的那一部电影信息
sql.sqldf("""select * from df as d
             where d.累计票房=(select max(累计票房) from df
                               where d.电影主演=电影主演)
             order by 累计票房 desc;""")

以上作者使用pandasql库成功实现了在pandas中写SQL的功能,使用sql.sqldf(""" *** """)命令,其中***是SQL查询语句,简单易学,使用SQL命令即可查询结果,更多数据分析知识和内容可以关注我,持续分享~

相关文章

SQL Server 2012 安装教程(附安装包下载)

SQL Server 2012软件介绍是一种关系数据库管理系统,由微软公司开发和维护。它是一种可扩展的、高性能的数据库平台,用于处理大量数据和支持高性能数据访问。SQL Server实现了与Windo...

SQL Server 2019 安装教程(附安装包下载)

SQL Server 2019软件介绍是一种关系数据库管理系统,由微软公司开发和维护。它是一种可扩展的、高性能的数据库平台,用于处理大量数据和支持高性能数据访问。SQL Server实现了与Windo...

如何在 Windows 上安装 SQL Server,保姆级教程来了!

前言SQL Server 是微软提供的关系型数据库管理系统,广泛用于企业级应用程序和数据管理。本文将详细介绍在 Windows 操作系统上安装 SQL Server 的步骤。步骤一:下载 SQL Se...

SQL Server2019安装步骤

SQL Server2019安装步骤文章分为四部分sql server安装失败指南(首看,本人下载中遇到的)下载安装sql server安装图形化界面 ssms创建数据库安装失败以及解决措施下载安装S...

【数据库】SQL Server2022安装教程

大家好,我是雷工!最近需要安装SQLServer数据库,此次安装的是sql_server_2022_developer版本,以下记录安装及配置过程。大家可以参考指正。一、安装SQL Server步骤:...

发现了一个好用且免费的SQL数据库工具(DBeaver)

缘起最近Ai不是大火么,想着自己也弄一些开源的框架来捣腾一下。手上用着Mac,但Mac都没有显卡的,对于学习Ai训练模型不方便,所以最近新购入了一台4090的拯救者,打算用来好好学习一下Ai(呸,以上...