Pandas与SQL的超强结合,爆赞!转载
原创我明白了人生短暂,我在学习Python!
本文中的所有演示数据都基于下面的四个表。以下四个表您应该不会陌生,它们是 网传50道经典MySQL面试题
I中使用的几个原始表不会解释下面这些表之间的相关性,因为仔细查看字段名称就会发现它们之间的相关性。
简介
pandas
中的DataFrame是二维表,数据库中的表也是二维表,所以pandas中使用 sql语句
它看起来像是防水的,它看起来像是防水的。它看起来像是水密的,pandasql使用SQLite作为其运行数据库,作为其运行数据库,而作为其运行数据库,而Python自带 SQLite模块
它不需要安装,可以直接使用。无需安装即可直接使用。
这里要注意的是,这里要注意的一点是,这里要注意的一点是
:使用pandasql读取DataFrame在列的日期格式中,将默认读取年、月、日、小时、分钟和秒,因此我们必须学习使用sqlite中的日期处理函数中的日期处理函数sqlite我希望这本常用函数的书对你有帮助。我希望你会发现它是有用的。我希望它会对你有所帮助。
sqlite完整的功能列表。函数的完整列表。 http://suo.im/5DWraE
正在导入相关库。导入相关的库。导入相关库。导入相关的库。
import pandas as pd
from pandasql import sqldf
声明全局变量的声明全局变量2种方式
-
在使用全局变量之前声明它。在使用全局变量之前声明它。在使用之前声明全局变量。在使用之前声明全局变量。
-
一次声明一个全局变量。一劳永逸地声明全局变量。声明一次全局变量。声明一次全局变量。
在使用之前声明此全局变量在使用之前声明全局变量在使用之前声明全局变量在使用它之前声明全局变量
df1 = pd.read_excel("student.xlsx")
df2 = pd.read_excel("sc.xlsx")
df3 = pd.read_excel("course.xlsx")
df4 = pd.read_excel("teacher.xlsx")
global df1
global df2
global df3
global df4
query1 = "select * from df1 limit 5"
query2 = "select * from df2 limit 5"
query3 = "select * from df3"
query4 = "select * from df4"
sqldf(query1)
sqldf(query2)
sqldf(query3)
sqldf(query4)
部分结果如下。部分研究结果如下。下面列出了一些结果。一些结果如下所示。
一次声明一个全局变量一次声明一次全局变量一次声明全局变量一次
df1 = pd.read_excel("student.xlsx")
df2 = pd.read_excel("sc.xlsx")
df3 = pd.read_excel("course.xlsx")
df4 = pd.read_excel("teacher.xlsx")
pysqldf = lambda q: sqldf(q, globals())
query1 = "select * from df1 limit 5"
query2 = "select * from df2 limit 5"
query3 = "select * from df3"
query4 = "select * from df4"
sqldf(query1)
sqldf(query2)
sqldf(query3)
sqldf(query4)
部分结果如下。部分研究结果如下。下面列出了一些结果。一些结果如下所示。
写几个简单的写几个简单的写几个简单的SQL语句
查看sqlite的版本
student = pd.read_excel("student.xlsx")
pysqldf = lambda q: sqldf(q, globals())
query1 = """
select sqlite_version(*)
"""
pysqldf(query1)
研究结果如下。研究研究结果如下。研究研究结果如下。研究研究结果如下。研究结果如下:
where筛选
student = pd.read_excel("student.xlsx")
pysqldf = lambda q: sqldf(q, globals())
query1 = """
select *
from student
where strftime(%Y-%m-%d,sage) = 1990-01-01
"""
pysqldf(query1)
研究结果如下。研究研究结果如下。研究研究结果如下。研究研究结果如下。研究结果如下:
多表连接
student = pd.read_excel("student.xlsx")
sc = pd.read_excel("sc.xlsx")
pysqldf = lambda q: sqldf(q, globals())
query2 = """
select *
from student s
join sc on s.sid = sc.sid
"""
pysqldf(query2)
部分结果如下。部分研究结果如下。下面列出了一些结果。一些结果如下所示。
分组聚合
student = pd.read_excel("student.xlsx")
sc = pd.read_excel("sc.xlsx")
pysqldf = lambda q: sqldf(q, globals())
query2 = """
select s.sname as 姓名,sum(sc.score) as 总分
from student s
join sc on s.sid = sc.sid
group by s.sname
"""
pysqldf(query2)
研究结果如下。研究研究结果如下。研究研究结果如下。研究研究结果如下。研究结果如下:
union查询
student = pd.read_excel("student.xlsx")
pysqldf = lambda q: sqldf(q, globals())
query1 = """
select *
from student
where strftime(%Y-%m,sage) = 1990-01
union
select *
from student
where strftime(%Y-%m,sage) = 1990-12
"""
pysqldf(query1)
研究结果如下。研究研究结果如下。研究研究结果如下。研究研究结果如下。研究结果如下:
推荐阅读:
入门: 最完整的零基学习最全面的零基学习最完整的零基学习Python的问题 | 从零开始学习从零基础学习从零基础学习8个月的Python | 实战项目 |学Python这是捷径,这是捷径,这是捷径
干货:爬行豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析最佳球员分析 | 从万众期待到口碑惨败!唐探3令人失望 | 笑新伊田图龙记笑新伊田图龙记笑新伊田图龙记 | 谜语之王回答灯谜之王灯谜之王谜语之王 |用Python人山人海素描图人山人海素描图人山人海 Dishonor太火了,我用机器学习做了一个迷你推荐系统电影
趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python日常酷跑游戏日常酷跑游戏日常酷跑游戏!
AI: 会写诗的机器人会写诗的机器人会写诗的机器人 | 给图片上色给图片上色给图片上色 | 预测收入 | 《耻辱》太火了,我用机器学习做了一部迷你推荐系统电影
小工具: Pdf转Word易于修复表单和水印!易于处理的表单和水印!易于修复表单和水印!简单的表格和水印! | 一键把html将页面另存为网页另存为网页另存为pdf!| 再见PDF提款费!提款费!提款费!提款费用! | 用90构建最强大的代码行构建最强大的代码行构建最强大的代码行PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一个固定的低成本机票提醒!制作一张别针的低价机票提醒! |60代码行做了一个语音墙纸切换,天天见女士!
年度弹出文案年度弹出文案年度爆炸性文案
-
1). 卧槽!Pdf转Word用Python轻松搞定 !
-
2).学Python闻起来好香!我用100一行代码做了一个网站,帮助人们做了一行代码,做了一个网站,帮助了人们做了一行代码,帮助了人们PS旅行图片赚鸡腿吃旅行图片赚鸡腿
-
3).第一次播放量过亿,火爆全网,我分析了《波妹》,发现了这些秘密
-
4). 80一行行代码!使用Python让救济金做正确的事做做的人做好事的人A梦分身
-
5).你必须掌握的东西你必须掌握20个python代码,简短而紧凑,永无止境的有用代码,简短而甜蜜,永无止境的有用的代码,简短而紧凑,永无止境的使用代码,简短而甜蜜,永无止境的用途
-
6). 30个Python古怪技能集古怪小贴士收藏古怪技能集
-
7). 我总结的80《菜鸟学习专页》《菜鸟学习专页》《菜鸟学习》Python精选干货.pdf》,都是干货
-
8). 再见Python!我要学Go了!2500词深度分析词深度分析词深度分析 !
-
9).发现一只舔狗的福利!这Python爬虫神器太酷了,不能自动下载女孩的照片
点击阅读原文点击查看点击点击阅读点击阅读原文点击查看B站我的20个视频!
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除