zoukankan      html  css  js  c++  java
  • 第一节阶段大作业 数据初步分析

    实现了在查看表的时候,初步分析数据,对数值型数据进行一些分析:计算标准差,平均值,最大值,最小值等,效果:

    主要利用pandas的describe函数,读取数据库,进行分析

    读取数据库:

    def pymysql_conn():
        conn = pymysql.connect(
            host="127.0.0.1",  # 需要连接的数据库的ip
            port=3306,
            user="root",  # 数据库用户名
            password="123456",  # 数据库密码
            database="bigwork_data"
        )
        cursor = conn.cursor()
        return conn, cursor

    转换数据类型并分析:

    #获取快速分析的key
    def get_table_clean(name_table,database_name):
        #pandas读取数据库
        conn, cursor=pymysql_conn()
        qu_sql = "SELECT * FROM "+name_table
        df = pd.read_sql_query(qu_sql, conn)
        #获取key值(china,english)
        keys_or=get_table_details_key(name_table,database_name)
        #获取keyEnglish
        keys=[]
        for i in keys_or:
            keys.append(i[0])
        #转换数据类型
        print("数据快速分析"+name_table)
        for i in keys:
            try:
                df[i] = df[i].astype(float)
            except:
                print("数据类型不符合")
        df_describe=df.describe()
        print(df_describe)
        return df_describe.keys(),df_describe.index,df_describe.values
        pass

    前端js

    $.ajax({
                 type: "GET",
                 url: "/get_table_clean_key?table_name={{ table_name }}&database_name={{ database_name }}",
                 dataType: "json",
                 success: function(data){
                     data_key_clean[0]={field:"type",title:"",120}
                     for (i=1;i<=data.len;i++){
                         data_key_clean[i]={field:data.data[i-1],title:data.data[i-1],120}
                     }
                     // 设置key值
                     table.render({
                         elem: '#clean'//以此来区分不同的表格
                         ,height: 450
                         ,url: '/get_table_clean_data?table_name={{ table_name }}&database_name={{ database_name }}' //数据接口
                         ,page: false //开启分页
                         ,cols: [data_key_clean]
                     });
                 }
             });
              //第一个实例
        });

    后端:

    #获取快速数据分析数据
    @app.route("/get_table_clean_key")
    def get_table_clean_key():
        # 获取表名与数据库名
        table_name = request.values.get("table_name")
        database_name = request.values.get("database_name")
        #调用获取表KEY的函数
        clean_key_index,clean_index,clean_values= dictionary.get_table_clean(table_name, database_name)
        clean_key=[]
        for i in clean_key_index:
            clean_key.append(i)
        # 返回JSON
        print("返回的clean_key")
        print(clean_key)
        return jsonify({"data": clean_key, "len": len(clean_key)})
        pass
    @app.route("/get_table_clean_data")
    def get_table_clean_data():
        # 获取表名与数据库名
        table_name = request.values.get("table_name")
        database_name = request.values.get("database_name")
        #调用获取表KEY的函数
        clean_key,clean_index,clean_values= dictionary.get_table_clean(table_name, database_name)
        # 返回JSON
        # 转化为JSON格式
        data_real = []  # 最后的形态{"key":value,......}
        count = len(clean_values)
        for i in range(count):
            flag = {}
            for j in range(len(clean_key)):
                flag[clean_key[j]] = clean_values[i][j]  # table_data_flag==value,english_china==key
            flag["type"]=clean_index[i]
            data_real.append(flag)
        print("数据快速分析内容:(table_name=" + table_name + ",database_name=" + database_name + ")")
        print(data_real)
        return jsonify({"code": 0, "msg": "", "count": count, "data": data_real})
        pass
  • 相关阅读:
    Javascript继承,再谈
    RHEL7使用systemctl管理服务
    centos7进入单用户模式修改root密码
    IBM DS5020 管理口密码重置
    IBM小机拆镜像换盘
    HMC版本支持
    IBM产品系列和AIX系统版本
    AIX 6.1创建逻辑卷并挂载【smitty】
    AIX中的网络管理
    创建AIX克隆盘
  • 原文地址:https://www.cnblogs.com/fengchuiguobanxia/p/15599256.html
Copyright © 2011-2022 走看看