在我本地Mysql_local_db数据库建立了一个pandas数据表用来对pandas模块的学习 学习过程借鉴学习蓝鲸的网站分析笔记

1、创建表

CREATE TABLE pandastest(
城市 VARCHAR(255),
用户ID INT(19),
订单日期 DATE,
金额 DECIMAL(19,4),
金额区间 VARCHAR(255),
订单数 INT(19),
上次订单日期 DATE,
距上次订单天数 INT(19),
上次金额 DECIMAL(19,4),
距上次订单间隔区间 VARCHAR(255),
品类数 INT(19),
KEY city (城市),
KEY res_id(用户ID)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

 2、Kettle导入测试数据 对数据进行了处理

3、执行SQL查询数据

4、Pycharm中编写代码

用pandas模块进行连接MySQL数据库  numpy 模块进行创建数组 matplotlib进行绘图

代码如下:

#coding:utf-8
import sys
import MySQLdb
from datetime import datetime
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
#系统编码置为'utf-8'
reload(sys)
sys.setdefaultencoding('utf-8')
#连接mysql 其中conn为pandas模块 read_sql方法的第二个参数
conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='密码',port=3306,db='local_db',charset='utf8')
sql='''
SELECT 城市,用户ID,订单日期,金额,金额区间,订单数
FROM pandastest
WHERE 订单日期<'2016-12-26'
limit 10000
'''
#用pandas模块中read_sql方法获取数据表(含表头和数据) real_sql 包含两个参数 一个是执行的sql 这里用sql变量代替 也可用字符串代替 一个是con=conn
df = pd.read_sql(sql, con=conn)
conn.close()
#练习对df中订单日期字段进行拆分成年月日操作 for循环为遍历日期型数据 因此用datetime模块中的strftime方法将日期型转换为字符型
date_time=pd.DataFrame((x.strftime("%Y-%m-%d").split('-') for x in df['订单日期']),columns=['year','month','day'])
#将date_time拆分开后的年月日和df的数据横行合并
df=pd.merge(df,date_time,right_index=True, left_index=True)
print df
#按金额区间进行汇总
jinequjian=df.groupby('金额区间')['金额区间'].agg(len)
print jinequjian
#图表字体为华文细黑 字号为11
plt.rc('font', family='STXihei', size=11)
#创建一个一维数组
a=np.array([1,2,3,4])
#创建条形图 数据源为jinequjian这个变量(金额区间汇总) 设置颜色 透明度 居中对齐和图表边框
plt.barh([1,2,3,4],jinequjian,color='#052B6C',alpha=0.8,align='center',edgecolor='white')
#y轴标题
plt.ylabel('金额区间')
#x轴标题
plt.xlabel('客户数')
#x轴长度
plt.xlim(0,8000)
#y轴长度
plt.ylim(0,6)
#图表的标题
plt.title('各金额区间客户分布情况')
#图例及显示位置
plt.legend(['客户数'], loc='upper right')
#背景网格线的颜色样式 尺寸 和透明度
plt.grid(color='#375589',linestyle='--', linewidth=2,axis='y',alpha=0.4)
#设置y轴上的数据分类名称和金额区间group by 的字段保持一致
plt.yticks(a,('(000到500元含)','(500到1000元含)','(1000到1500元含)','(1500元以上)'))
#展现表
plt.show()

 

Python 2.7_pandas连接MySQL数据处理_20161229的更多相关文章

  1. Python 3.5 连接Mysql数据库(pymysql 方式)

    由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通 ...

  2. python 3.5 连接mysql数据库

    python 3.5 要连接mysql数据库,必须先安装pymysql模块,该模块可以操作mysql数据. 1.安装pymysql模块:使用pip进行安装 cmd打开运行模式,切换目录到pip的scr ...

  3. 【Python】Windows平台下Python、Pydev连接Mysql数据库

    Mysql数据库是跨平台的,不是说Python一定就要连接Mongodb. Python连接Mysql数据库是非常easy的. 首先,你要配置好Python的开发环境,详见<[Python]Wi ...

  4. Python 使用pymysql连接MySQL

    由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通过 pip 安装.但如果你使用的是 p ...

  5. python使用sqlalchemy连接mysql数据库

    环境:centos7+python2.7.5+sqlalchemy sqlalchemy是python当中比较出名的orm程序.在python中,使用sqlalchemy连接mysql数据库进行操作非 ...

  6. 【python】python3连接mysql数据库

    一.安装pymysql 详见http://www.runoob.com/python3/python3-mysql.html 二.连接mysql数据库 db = pymysql.connect( #连 ...

  7. Python学习—Pycharm连接mysql服务器

    安装pymysql pip3 install pymysql 安装Mysql客户端驱动(基于Pycharm工具) 点击download,下载mysql驱动 等待驱动安装成功后,点击OK即可 创建数据库 ...

  8. Mac下python连接mysql数据库

    一.下载Mysql官方connector驱动 地址:https://dev.mysql.com/downloads/connector/python/ 根据提示安装.dmg文件即可. 二.验证是否安装 ...

  9. django 1.11.1 连接MySQL

    一.定义数据库 settings.py搜索   DATABASES 参考路径:   D:\Python27\Lib\site-packages\django\bin\app\app\settings. ...

随机推荐

  1. mac ssh localhost

    转自:http://blog.csdn.net/cwj649956781/article/details/37913637 mac 无法ssh localhost,错误提示:bash: /usr/lo ...

  2. 【maven】之配置开发,测试,正式环境pom.xml文件

    在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...

  3. <<Differential Geometry of Curves and Surfaces>>笔记

    <Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...

  4. module

    扯淡的人 http://www.cnblogs.com/yuanchenqi/articles/5732581.html 不被调用的    要写在这下面 1 if __name__=="__ ...

  5. dedecms 图片集上传时提示错误信息“(FILEID:1|2|3..)“的解决

    网上看到很多朋友遇到使用织梦程序一段时间后,发现上传图集时候老是失败,提示"提示FILEID:X错误,缩略图显示为红色Error"下面截图错误: 这问题今天也让我头疼了半天,好好的 ...

  6. 从零开始系列-R语言基础学习笔记之二 数据结构(二)

    在上一篇中我们一起学习了R语言的数据结构第一部分:向量.数组和矩阵,这次我们开始学习R语言的数据结构第二部分:数据框.因子和列表. 一.数据框 类似于二维数组,但不同的列可以有不同的数据类型(每一列内 ...

  7. 查看MS SQL SERVER 错误日志

    查看目的: 错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程).这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重 ...

  8. CM添加kafka服务

    下载所需的包: 在http://archive.cloudera.com/kafka/parcels/latest/ 选择合适parcel下载: ubuntu14.04的cdh5.5.1对应包 htt ...

  9. 50个令人惊奇的jQuery插件(对话框和表单篇)及免费的响应式bootstrap管理员后台界面主题 - Charisma

    http://www.woiweb.net/50-amazing-jquery-plugins.html 多文件文件下载 免费的响应式bootstrap管理员后台界面主题 – Charisma htt ...

  10. Xilinx DCM 使用---- 输出频率问题

    最近在使用Xilinx FPGA验证项目,使用DCM将50M晶振分频得到20M时钟.但是下载代码到板子上验证,发现板子完全不工作. 然后 测量时钟,发现根本就没有20M时钟.查找资料,以及跟以前项目对 ...