sqldf for pandas
项目描述
免责声明
本项目未得到维护。它仅是yhat/pandasql的一个分支,所有功劳都归功于该团队。此分支仅解决与SQLAlchemy v2.x.x的兼容性问题。已请求PR将其包含在主pandasql
项目中,但它似乎已处于休眠状态。这激发了此分支的创建。
panSQL
panSQL
允许您使用 SQL 语法查询 pandas
DataFrame。它与 R 中的 sqldf
类似。panSQL
旨在为 Python 或 pandas
新手提供一种更熟悉的数据操作和清理方式。
安装
$ pip install -U pansql
基础知识
panSQL 中使用的主要函数是 sqldf
。 sqldf
接受 2 个参数
- 一个 SQL 查询字符串
- 一组会话/环境变量(
locals()
或globals()
)
指定 locals()
或 globals()
可能会变得繁琐。您可以定义一个简短的辅助函数来解决这个问题。
from pansql import sqldf
pysqldf = lambda q: sqldf(q, globals())
查询
panSQL
使用 SQLite 语法。任何 pandas
DataFrame 都将被 panSQL
自动检测。您可以像查询任何常规 SQL 表一样查询它们。
$ python
>>> from pansql import sqldf, load_meat, load_births
>>> pysqldf = lambda q: sqldf(q, globals())
>>> meat = load_meat()
>>> births = load_births()
>>> print pysqldf("SELECT * FROM meat LIMIT 10;").head()
date beef veal pork lamb_and_mutton broilers other_chicken turkey
0 1944-01-01 00:00:00 751 85 1280 89 None None None
1 1944-02-01 00:00:00 713 77 1169 72 None None None
2 1944-03-01 00:00:00 741 90 1128 75 None None None
3 1944-04-01 00:00:00 650 89 978 66 None None None
4 1944-05-01 00:00:00 681 106 1029 78 None None None
支持连接和聚合
>>> q = """SELECT
m.date, m.beef, b.births
FROM
meats m
INNER JOIN
births b
ON m.date = b.date;"""
>>> joined = pyqldf(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 pysqldf(q).head()
year beef_total
0 1944 8801
1 1945 9936
2 1946 9010
3 1947 10096
4 1948 8766
项目详情
下载文件
下载适合您平台的文件。如果您不确定该选择哪个,请了解有关 安装包 的更多信息。
源代码分发
pansql-0.0.1.tar.gz (28.3 kB 查看哈希值)
构建分发
pansql-0.0.1-py3-none-any.whl (26.4 kB 查看哈希值)
关闭
pansql-0.0.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 61091112442c5d663ea5c042b6327a9b6b94c6687831677dddda46f292532e29 |
|
MD5 | 303de25dbf899b9bef876c42ff6d3ea7 |
|
BLAKE2b-256 | 1226fafa39d5151df3a85efe9accb90ea3a623c9eaff172ca0b8f0ded7f2e521 |
关闭
pansql-0.0.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0c49d8c23e418ac065af767ed350c544c0d6d96dc04e2faa1f8b37851d404988 |
|
MD5 | 972afe1a56d89b4e1aefd45aa0df29f3 |
|
BLAKE2b-256 | a250ced561687339206d3de7ffb6d4e7d3e4c80e218dc7808cd662ff0dec5d1a |