在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
相关文章推荐
- Redis分布式解决方案-Coids
- PL/SQL Developer 的安装与配置
- mysql字符集修改
- redis 部署
- mysql性能优化-慢查询分析、优化索引和配置 分析
- mysql小记
- sql 小记
- 第96讲 通过Spark Streaming的foreachRDD把处理后的数据写入外部存储系统(数据库)中
- tomcat+nginx+redis实现均衡负载、session共享(二)
- mysql5.7中的一个update order by排名问题解决办法(一条sql搞定排名)
- MySQL 资源大全
- php连接oracle数据库遇到的问题
- 使用配置文件为购物车提供一个商品放置数据库
- mongodb增删改查基本操作
- oracle实例的内存(SGA和PGA)调整,优化之原理和方法
- 干货!MySQL 资源大全
- Sql 编辑器 大小写转换快捷键
- redis 文章
- mysql时间戳
- mysql 获取某字段不重复数据,删除某字段重复数据