熊猫的sqldf
pandasql3的Python项目详细描述
潘达什
这是原始pandasql的一个分支,支持多个SQL 后端和更方便的接口。更多信息见下文。在
pandasql允许您使用SQL语法查询pandas数据帧。 它的工作方式类似于R中的sqldf。pandasql试图提供一个 为新用户提供更熟悉的操作和清理数据的方法 Python或pandas。在
安装
$ pip install -U pandasql
基础知识
除了原来的pandasql的sqldf函数之外,这个fork还有 一个类PandaSQL,鼓励新用户使用。在
sqldf函数
原始pandasql中使用的主要函数是sqldf。sqldf 接受一个三个参数:-sql查询字符串、-dict of environment 变量(可选,如果未指定,假设为 {**locals(),**globals()})-数据库URI的格式与中的相同 SQLAlchemy(可选,默认情况下使用内存中的SQLite数据库)
PandaSQLclass
当您需要执行多个查询时,该类更加方便 (几乎总是):-首先创建类,如果不是,则指定db\u uri 默认值:pdsql = PandaSQL(db_uri)-要执行查询,只需调用 pdsql(query)(也可以明确指定环境)
查询
任何pandas数据帧都将由^{tt1}自动检测$ 您可以像查询任何常规SQL表一样查询它们。在
^{pr2}$也支持联接和聚合
>>> q = """SELECT m.date, m.beef, b.births FROM meats m INNER JOIN births b ON m.date = b.date;""" >>> joined = pdsql(q) >>> print joined.head() date beef births 403 2012-07-01 00:00:00 2200.8 368450 404 2012-08-01 00:00:00 2367.5 359554 405 2012-09-01 00:00:00 2016.0 361922 406 2012-10-01 00:00:00 2343.7 347625 407 2012-11-01 00:00:00 2206.6 320195 >>> q = "select strftime('%Y', date) as year , SUM(beef) as beef_total FROM meat GROUP BY year;" >>> print pdsql(q).head() year beef_total 0 1944 8801 1 1945 9936 2 1946 9010 3 1947 10096 4 1948 8766
- 项目
标签: