您的位置:首页 > 数据库

在pandas中使用sql

2016-05-15 20:58 459 查看

在pandas中使用sql

就像可以使用sqldf在R中使用sql一样,可以使用pandasql在pandas中使用sql操作DataFrame,对于熟悉数据库的人来说,更喜欢用sql做数据清洗整合吧。

DataFrame,是一个二维的表格,就和数据库表一样,所以用sql操作DataFrame也就水到渠成了。

pandasql使用 SQLite作为其操作数据库,使用的sql也遵循 SQLite代码规范。Python自带 SQLite模块,所以不需要安装,可以直接使用。

下面的pandasql在github的一些例子。

from pandasql import sqldf
# 查找内存中的pandas数据框
pysqldf = lambda q: sqldf(q, globals())


# 导入模块,自带数据,寻找pandas数据框
from pandasql import sqldf, load_meat, load_births
pysqldf = lambda q: sqldf(q, globals())
meat = load_meat()
births = load_births()
pysqldf("SELECT * FROM meat LIMIT 10;").head()


# 表关联
q = """SELECT m.date, m.beef, b.births FROM meats m INNER JOIN births b ON m.date = b.date;"""
joined = pyqldf(q)
joined.head()
# 分组计算
q = "select strftime('%Y', date) as year , SUM(beef) as beef_total FROM meat GROUP BY year;"
pysqldf(q).head()


pandasql的官方博客是:

http://blog.yhat.com/posts/pandasql-sql-for-pandas-dataframes.html

github地址是:

https://github.com/yhat/pandasql
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: