热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pandasql:让python运行SQL

pandasql:让python运行SQLpandasql:让python运行SQL由Yhat|2016年10月11日本文链接:http:blog.yhat.compostspan
pandasql:让 python 运行 SQL

pandasql:让 python 运行 SQL
由 Yhat | 2016 年 10 月 11 日
本文链接:http://blog.yhat.com/posts/pandasql-intro.html

介绍

关于 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。更多的是在下一两周内!

下载 Rodeo

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

ps:如果你下载 Rodeo 并遇到问题或只是有疑问,我们会全天候监控我们的讨论论坛24/7。

如果你好奇,一点背景

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

安装 pandasql

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

《pandasql:让 python 运行 SQL》 1

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

查看数据集

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

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

《pandasql:让 python 运行 SQL》 2

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

《pandasql:让 python 运行 SQL》 3

奇数图

《pandasql:让 python 运行 SQL》 4-1

《pandasql:让 python 运行 SQL》 4-2

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

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

《pandasql:让 python 运行 SQL》 5

用法

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

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

  • Run Script 确实会运行在文本编辑器中编写的所有内容
  • 你可以高亮显示代码块,并通过单击 Run Line 或按 Command + Enter 运行它
  • 你可以调整窗格大小(当我没有绘制图时,我缩小了右下角的窗格)

基础

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

《pandasql:让 python 运行 SQL》 6

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

聚合

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

《pandasql:让 python 运行 SQL》 7

locals() 与 globals()

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

《pandasql:让 python 运行 SQL》 8

联结

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

《pandasql:让 python 运行 SQL》 9

WHERE 条件

这是一个 WHERE 字句。

《pandasql:让 python 运行 SQL》 10

这只是SQL

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

《pandasql:让 python 运行 SQL》 11-1

《pandasql:让 python 运行 SQL》 11-2

《pandasql:让 python 运行 SQL》 11-3

《pandasql:让 python 运行 SQL》 11-4

最后的想法

《pandasql:让 python 运行 SQL》 12

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

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

我们希望你能检查 pandasql 和 Rodeo;如果你这样做,请告诉我们你的想法!


推荐阅读
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 电脑公司win7剪切板位置及使用方法
    本文介绍了电脑公司win7剪切板的位置和使用方法。剪切板一般位于c:\windows\system32目录,程序名为clipbrd.exe。通过在搜索栏中输入cmd打开命令提示符窗口,并输入clip /?即可调用剪贴板查看器。赶紧来试试看吧!更多精彩文章请关注本站。 ... [详细]
  • Pycharm编辑器取消双击shift弹出搜索框的方法
    在使用Pycharm编辑器时,双击shift会弹出搜索框界面,导致输入失去焦点,给用户带来不便。本文介绍了取消双击shift弹出搜索框的方法:在Pycharm中双击shift,输入registry并回车,找到“ide.suppress.double.click.handler”并勾选后,关闭即可解决该问题。通过这个方法,你再也不会被shift问题困扰了。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 结合R语言学习多元统计分析1——相关系数及其检验 ... [详细]
  • 用户登录 ... [详细]
author-avatar
捕鱼达人2602906405
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有