社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

让Python运行SQL?Pandasql来搞定!

中国统计网 • 6 年前 • 1117 次点击  


关于 Python 的最喜欢的一件事是使用者获得观察 R 社区的好处,然后模拟其最好的部分。我相信一种语言和它的库和工具一样有用。


这篇文章是关于pandasql,Yhat 写的一个模拟 R 包 sqldf 的Python 库。这是一个小而强大的库,只有358行代码。pandasql 的想法是让 Python 运行 SQL。对于那些来自 SQL 背景或仍然「使用 SQL 思考」的人来说,pandasql是一种利用两种语言优势的好方式。


在本介绍中,将在为数据探索和分析构建的集成开发环境(IDE) Rodeo 中用 pandasql 开始运行。Rodeo 是一个开源、完全免费的工具。如果你是 R 使用者,那么它与 RStudio 具有类似感觉的工具。到目前为止,Rodeo 只能运行 Python 代码,但上周我们添加一些其他语言的语法高亮到编辑器(markdown,JSON,julia,SQL,markdown)。


你可能已经阅读或猜到了,我们对 Rodeo 有很大的计划,包括添加 SQL 支持,以便你可以在 Rodeo 内运行 SQL 查询,即使没有我们的方便pandasql。


01. 下载 Rodeo


首先从 Yhat 网站上的 Rodeo 页面下载 Rodeo for Mac,Windows 或 Linux。


如果你好奇,一点背景

在背后,pandasql 使用该 pandas.io.sql 模块在DataFrame 和 SQLite 数据库之间传输数据。操作用 SQL 执行,返回结果,然后将数据库拆除。此库大量使用 pandas write_frame 和 frame_query 两个功能,可以让你读取和写入 pandas 任何 SQL 数据库。


02. 安装 pandasql


pandasql 使用 Rodeo 中的软件包管理器进行安装。只需搜索 pandasql 并单击安装包。



如果你喜欢安装这种方式,也可以从文本编辑器运行 ! pip install pandasql。


03. 查看数据集


pandasql 有两个内置的数据集,将用于下面的例子。

meat:数据集来自美国农业部,包含有关牲畜,乳制品和家禽前景和生产的指标
births:数据集来自联合国统计司,包含按月计算的活产婴儿人口统计


运行以下代码查看数据集。



在 Rodeo 里面,你真的不需要 print.variable.head() 语句,因为实际上你可以直接检查 dataframe。



04. 奇数图




请注意,绘图将显示在控制台和绘图选项卡(右下角的选项卡)中。


提示:可以通过单击窗格顶部的箭头「弹出」你的绘图。如果你正在使用多个显示器,并希望对于数据可视化,专注于其中一个屏幕,那么这是非常方便的。



05. 用法


为了使这篇文章简洁易读,我们刚刚给出了代码片段和下面大部分查询的几行结果。

如果你在 Rodeo 中跟随着,开始时候有会一些提示:

  • Run Script 确实会运行在文本编辑器中编写的所有内容

  • 你可以高亮显示代码块,并通过单击 Run Line 或按 Command + Enter 运行它

  • 你可以调整窗格大小(当我没有绘制图时,我缩小了右下角的窗格)



06. 基础


写一些 SQL,通过代替 DataFrames 表针对 pandas DataFrame,并执行它。



pandasql 创建数据库、架构、加载数据、并运行你的 SQL。


07. 聚合


pandasql 支持聚合。可以在 group by 子句中使用别名列名或列号。



locals() 与 globals()

pandasql 需要在会话/环境中访问其他变量。虽然当执行 SQL 语句时,可以传递 locals() 给 pandasql,但是如果你运行了大量可能麻烦的查询。为了避免一直传递给 locals,你可以将这个帮助函数添加到脚本中,来其设置 globals() 如下:



08. 联结


你可以使用正常的 SQL 语法联结 dataframes。



09. WHERE 条件


这是一个 WHERE 字句。



10. 这只是SQL


由于 pandasql 由 SQLite3 提供支持,你可以用 SQL 中执行大部分任务。以下是使用常见 SQL 功能(例如子查询,排序分组,函数和联合)的一些示例。





最后的想法




pandas 是一个难以置信的数据分析工具,因为它非常易于理解、简洁明了、易表达。最终,有足够充分的理由来学习的 merge,join,concatenate,melt 的细微差别和其他 pandas 特色的切片和切块数据。查看文档的一些例子。


我们希望这 pandasql 对于 Python 和 pandas 新手将是一个有用的学习工具。在我自己学习 R 的个人经验中,sqldf 是一个熟悉的界面,可以帮助我尽快使用新工具来提高生产力。


End.

来源:数据分析网


后台回复【代码】即可获取文中所有代码

【零基础数据分析就业班】今日20:30开课

欢迎各位小伙伴参加



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/LMVs9eUUV3
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/26690
 
1117 次点击  
文章 [ 2 ]  |  最新文章 6 年前
986178960
Reply   •   1 楼
986178960    6 年前

代码

986178960
Reply   •   2 楼
986178960    6 年前

代码