目的
在数据分析时,很多场景下是对数据进行整理、汇总和规整。虽然Pandas有类似SQL的操作,但真正的使用SQL还是方便不少。本文演示怎么通过SQL对数据进行预处理,并返回结果到DF中。
import pandas as pd
from sqlalchemy import create_engine
# default
engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn')
编写SQL处理语句,并返回结果
pd.read_sql_query("select cityid, cellid, sum(fee) as fee_sum from cellfee group by cityid, cellid", con=engine)
即,通过Pandas的read_sql_query方法,将sql放到第一个位置,设置con=,即可将数据的预处理部分放到数据库中去做。
如果远程的数据库性能强悍,更加推荐这种方法。
数据的维护交给数据库,真的能减轻数据分析中的数据维护压力,想象一个你面对一大堆的csv文件(excel文件)的感受。
删除数据库中的表
如果是中间表,那么需要在结束流程后将临时表删除。我们通过sqlalchemy 生成的engine来实现。
engine.execute('drop table if exists todelete')