zoukankan      html  css  js  c++  java
  • python 数据可视化

    数据可视化

    # -*- coding:utf-8 -*-
    # 异常值处理
    import pandas as pda
    import numpy as npy
    import matplotlib

    matplotlib.use('Agg')
    import matplotlib.pyplot as pyl
    import io


    def index(data):
    # 输出结果必须为字典output
    output = {}
    # data = pda.read_excel("D:/taobao2.xls")
    data = pda.DataFrame(data[1:], columns=data[0])
    # print(data)
    data.describe()
    # 画散点图(横轴为价格,纵轴为评论数)
    # 得到价格
    data2 = data.T
    price = data2.values[2]
    # 得到评论数据
    comt = data2.values[3]
    fig = pyl.figure()
    # print(price)
    # print(comt)
    pyl.plot(price, comt, 'o')
    canvas = fig.canvas
    buffer = io.BytesIO()
    canvas.print_png(buffer)
    img_spl = buffer.getvalue()
    # print(data)s
    buffer.close()
    output['img_散点图'] = img_spl
    # pyl.show()
    # 评论数异常>100000,价格异常>1000
    line = len(data.values)
    col = len(data.values[0])
    da = data.values
    for i in range(0, line):
    for j in range(0, col):
    if (int(da[i][2]) > 1000):
    # print(da[i])
    da[i][2] = data["价格"].mean()
    if (int(da[i][3]) > 100000):
    # print(da[i])
    da[i][3] = data["评论"].mean()
    daF = pda.DataFrame(da)
    daF.sort_values(by=3)
    da2 = da.T
    price = da2[2]
    comt = da2[3]
    fig2 = pyl.figure()
    pyl.plot(price, comt, 'o')
    canvas = fig2.canvas
    buffer = io.BytesIO()
    canvas.print_png(buffer)
    img_spl2 = buffer.getvalue()
    # print(data)s
    buffer.close()
    output['img_第二张散点图'] = img_spl2

    # pyl.show()

    # 分布分析--直方图
    fre_price = dict()
    for num in da2[2]:
    fre_price[num] = fre_price.get(num, 0) + 1
    fre_price.keys()
    fre_price.values()
    pyl.bar(list(fre_price.keys()), list(fre_price.values()))

    # 数据集成
    da200 = da[0:200]
    da300 = da[200:500]
    da500 = npy.concatenate((da200, da300))
    pda.DataFrame(da200)
    output['data_数据集成'] = pda.DataFrame(da200).values.tolist()
    # print(pda.DataFrame(da200))

    # 标准化
    # 离差标准化
    data["价格"] = (data["价格"] - data["价格"].min()) / (data["价格"].max() - data["价格"].min())
    # 标准差标准化
    data["价格"] = (data["价格"] - data["价格"].mean()) / data["价格"].std()
    print(output)
    return output


    if __name__ == "__main__":
    data = nosupervision_read_data()
    index(data)

      

  • 相关阅读:
    Keras的安装与配置
    Hive实际应用小结
    SparkMLlib-----GMM算法
    ---------菜单目录---------
    Linux(Centos)下使用Docker安装 Portainer-ce(HTTPS支持,docker容器管理软件)
    Linux(Centos)下 docker-ce安装配置(TLS认证)、docker-compose安装与配置
    Centos8 安装进不了图形化安装界面,光标一直在闪解决方案
    开源镜像库
    vue模板项目 推荐项目 vue-element-admin
    Linux 服务器 网卡 流量统计 监控 (vnstat)最新版本安装使用
  • 原文地址:https://www.cnblogs.com/wei23/p/10890685.html
Copyright © 2011-2022 走看看