知行编程网知行编程网  2022-02-06 10:00 知行编程网 隐藏边栏 |   抢沙发  15 
文章评分 0 次,平均分 0.0

关于 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 并单击安装包。

 

让Python运行SQL?Pandasql来搞定!

 

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

 

03. 查看数据集

 

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

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


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

 

让Python运行SQL?Pandasql来搞定!

 

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

 

让Python运行SQL?Pandasql来搞定!

 

04. 奇数图

 

让Python运行SQL?Pandasql来搞定!

让Python运行SQL?Pandasql来搞定!

 

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

 

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

 

让Python运行SQL?Pandasql来搞定!

 

05. 用法

 

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

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

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

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

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

 

06. 基础

 

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

 

让Python运行SQL?Pandasql来搞定!

 

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

 

07. 聚合

 

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

 

让Python运行SQL?Pandasql来搞定!

 

locals() 与 globals()

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

 

让Python运行SQL?Pandasql来搞定!

 

08. 联结

 

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

 

让Python运行SQL?Pandasql来搞定!

 

09. WHERE 条件

 

这是一个 WHERE 字句。

 

让Python运行SQL?Pandasql来搞定!

 

10. 这只是SQL

 

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

 

让Python运行SQL?Pandasql来搞定!

让Python运行SQL?Pandasql来搞定!

 

让Python运行SQL?Pandasql来搞定!

 

最后的想法

 

让Python运行SQL?Pandasql来搞定!

 

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


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

 

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享