环境

Anaconda3 Python 3.6, Window 64bit

  • 目的

从MySQL数据库读取数据,进行数据清理,数据展示

  • 代码
# -*- coding: utf-8 -*-

import pymysql
import pandas as pd
import matplotlib.pylab as mtp
import numpy as np # 数据库连接
db_conn = pymysql.connect(
host="***",
user="kimbo",
passwd="***",
database="kimbo_test",
port=3306,
charset="utf8"
) # 执行sql语句
sql_cmd = "select id,order_id,valid_amt,coll_amt,product_type,one_dept from kimbo_test;" # 导入数据
data1 = pd.read_sql(sql_cmd, db_conn) # 数据清洗,发现缺失值
c = 0 data2 = data1.values # 转换成DateFrame模式
rows = len(data2) # 行数
cols = len(data2[0]) # 列数
# print(data2)
print(rows, cols) for i in range(rows):
for j in range(cols):
if (data2[i][j] == "NULL"):
data2[i][j] = None
if (data2[i][2] >= 1000):
data2[i][2] -= 100
c += 1
print("总共修改数值:%d" % c) data3 = data2.T # 行列转换
price = data3[2] # 价格
amt = data3[3] # 金额
pricemax = data3[2].max()
pricemin = data3[2].min()
amtmax = data3[3].max()
amtmin = data3[3].min() # 极差 最大值-最小值
pricediff = pricemax - pricemin
amtdiff = amtmax - amtmin
# 组距 极差/组数
pricedst = pricediff / 7
amtdst = amtdiff / 7
# 根据组距 切分
pricesty = np.arange(pricemin, pricemax, pricedst)
amtsty = np.arange(amtmin, amtmax, amtdst) # 散点图
mtp.subplot(2, 1, 1)
mtp.plot(price, amt, 'o')
mtp.title("ctp") # 画价格的直方图
mtp.subplot(2, 2, 3)
mtp.hist(data3[2], pricesty, color='y')
mtp.title("pri") # 画金额的直方图
mtp.subplot(2, 2, 4)
mtp.hist(data3[3], amtsty, color='b')
mtp.title("amt")
mtp.show()
  • 结果展示

Python 数据分析练习1的更多相关文章

  1. [Python数据分析]新股破板买入,赚钱几率如何?

    这是本人一直比较好奇的问题,网上没搜到,最近在看python数据分析,正好自己动手做一下试试.作者对于python是零基础,需要从头学起. 在写本文时,作者也没有完成这个小分析目标,边学边做吧. == ...

  2. 【Python数据分析】Python3多线程并发网络爬虫-以豆瓣图书Top250为例

    基于上两篇文章的工作 [Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 已经正确地实现 ...

  3. 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

    继上一篇[Python数据分析]Python3操作Excel-以豆瓣图书Top250为例 对豆瓣图书Top250进行爬取以后,鉴于还有一些问题没有解决,所以进行了进一步的交流讨论,这期间得到了一只尼玛 ...

  4. 【搬砖】【Python数据分析】Pycharm中plot绘图不能显示出来

    最近在看<Python数据分析>这本书,而自己写代码一直用的是Pycharm,在练习的时候就碰到了plot()绘图不能显示出来的问题.网上翻了一下找到知乎上一篇回答,试了一下好像不行,而且 ...

  5. Python 数据分析(二 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识

    Python 数据分析(二) 本实验将学习利用 Python 数据聚合与分组运算,时间序列,金融与经济数据应用等相关知识 第1节 groupby 技术 第2节 数据聚合 第3节 分组级运算和转换 第4 ...

  6. Python数据分析(二): Numpy技巧 (1/4)

    In [1]: import numpy numpy.__version__ Out[1]: '1.13.1' In [2]: import numpy as np  

  7. Python数据分析(二): Numpy技巧 (2/4)

    numpy.pandas.matplotlib(+seaborn)是python数据分析/机器学习的基本工具. numpy的内容特别丰富,我这里只能介绍一下比较常见的方法和属性.   昨天晚上发了第一 ...

  8. Python数据分析(二): Numpy技巧 (3/4)

    numpy.pandas.matplotlib(+seaborn)是python数据分析/机器学习的基本工具. numpy的内容特别丰富,我这里只能介绍一下比较常见的方法和属性.   昨天晚上发了第一 ...

  9. Python数据分析(二): Numpy技巧 (4/4)

    numpy.pandas.matplotlib(+seaborn)是python数据分析/机器学习的基本工具. numpy的内容特别丰富,我这里只能介绍一下比较常见的方法和属性.   第一部分: ht ...

  10. 【读书笔记与思考】《python数据分析与挖掘实战》-张良均

    [读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...

随机推荐

  1. 跳出NSDate

    感觉任何语言关于时间的格式化处理,时区的处理都是多的,最近被NSDate的各种问题坑了好久 先看看关于NSDate自己的问题 1.NSDate NSDate获取当前时间 NSDate *date=[N ...

  2. <2014 05 21> 互联网时代的C语言——Go

    Go希望成为互联网时代的C语言. 多数系统级语言(包括Java和C#)的根本编程哲学来源于C++,将C++的面向对象进一步发扬光大.但是Go语言的设计者却有不同的看法,他们认为C++ 真的没啥好学的, ...

  3. sqlalchemy(二)高级用法 2

    转自:https://www.cnblogs.com/coder2012/p/4746941.html 外键以及relationship 首先创建数据库,在这里一个user对应多个address,因此 ...

  4. Python位运算符

    按位运算符是把数字看作二进制来进行计算的.Python中的按位运算法则如下: 下表中变量 a 为 60,b 为 13,二进制格式如下: a = 0011 1100 b = 0000 1101 ---- ...

  5. Github的markdwon如何使用表情符(Emoji)?表情包大全

    如输入 :smile: 会输出  

  6. Ubuntu 16.04 安装 JDK 及 Eclipse 详细步骤(转发:https://blog.csdn.net/bluish_white/article/details/56509446)

    2017.3.1更新 修正了一些命令,现在按照文章步骤配置不会出现问题了. JDK 安装及配置 参考来源:http://www.linuxidc.com/Linux/2017-02/140908.ht ...

  7. 修改hostname不重启机器并生效

    1.依次执行:      vi /etc/sysconfig/network  这种修改方式不会马上生效,需要重启服务器后生效,所以继续执行下面命令      echo   ***(例如:node13 ...

  8. Java NIO2 File API介绍

    Introduction to the Java NIO2 File API GitHub NIO2中的文件API是Java 7附带的Java平台的主要新功能之一,特别是新的文件系统API的一个子集以 ...

  9. vue之 node.js 的简单介绍

    一.什么是 node.js? 它是可以运行在JavaScript的服务平台 二.安装 1.node.js的特性 - 非阻塞IO模型 - 时间驱动 2.运用场景 - 高并发低业务 - 实时场景 - 聊天 ...

  10. 笔记-mysql 导出查询结果

    语法: The SELECT ... INTO OUTFILE 'file_name' [options] form of SELECT writes the selected rows to a f ...