打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

在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 pddf=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 电影名称,电影导演,电影主演,累计票房,casewhen 累计票房 < 100000 then '超低票房'when 累计票房 < 200000 then '低票房'when 累计票房 < 300000 then '中等票房'when 累计票房 < 400000 then '高票房'else '超高票房'end as '电影票房分组' from dfwhere 累计票房 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命令即可查询结果,更多数据分析知识和内容可以关注我,持续分享~

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
让Python运行SQL?Pandasql来搞定!
SQL思维快速上手使用Pandas
厉害了,在Pandas中用SQL来查询数据,效率超高
Pandas学习笔记(一)
Python内置库SQlite3使用指南
特别实用的详解:Python pandas库中的isnull()问题(建议收藏)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服