美文网首页
Python第21课:以图形化报表对某数据表分析

Python第21课:以图形化报表对某数据表分析

作者: 启蒙时代 | 来源:发表于2019-02-03 17:17 被阅读0次

    Python第21课:以图形化报表对某数据表分析

    时间 2019-02-03 下午3:30

    主讲 刘培富

    地点 四楼电教室


    任务:

    某系统数据表,共有记录3.3万条,以图形化分析该表各年龄段的人数分布情况。

    分析:

    首先,确定统计分析的规则,即对年龄段进行划分如下:

    1, 未成年人,<18

    2, 青年人,>=18且<40

    3, 中年人,>=40且<60

    4, 老年人,>=60

    参考答案:

    一,饼图:

    import cx_Oracle

    import matplotlib.pyplot as plt

    conn=cx_Oracle.connect('lpf/****')

    cur=conn.cursor()

    sql="select GMSFHM from z****"

    cur.execute(sql)

    data=cur.fetchall()

    a1,a2,a3,a4=0,0,0,0

    for i in data:

        x=2018-int(i[0][6:10])

        if x<18:

            a1+=1

        if x>=18 and x<40:

            a2+=1

        if x>=40 and x<60:

            a3+=1

        if x>=60:

            a4+=1

    cur.close()

    conn.close()

    plt.rc("font",family="SimHei",size=10)

    labels=['未成年人','青年人','中年人','老年人']

    sizes=(a1,a2,a3,a4)

    plt.pie(sizes,labels=labels,autopct="%1.1f%%",shadow=False,startangle=200,radius=1)

    plt.title("某数据表人员年龄结构分析")

    plt.show()

    二、柱状图:

    import cx_Oracle

    import matplotlib.pyplot as plt

    conn=cx_Oracle.connect('lpf/****l')

    cur=conn.cursor()

    sql="select GMSFHM from z****"

    cur.execute(sql)

    data=cur.fetchall()

    a1,a2,a3,a4=0,0,0,0

    for i in data:

        x=2018-int(i[0][6:10])

        if x<18:

            a1+=1

        if x>=18 and x<40:

            a2+=1

        if x>=40 and x<60:

            a3+=1

        if x>=60:

            a4+=1

    cur.close()

    conn.close()

    plt.rc("font",family="SimHei",size=10)

    name_list=["未成年人","青年人","中年人","老年人"]

    num_list=[a1,a2,a3,a4]

    plt.xlabel("年龄段")

    plt.ylabel("人数")

    plt.bar(range(len(num_list)),num_list,color="rgb",tick_label=name_list)

    plt.title("某数据表人员年龄结构分析")

    plt.show()

    以上,使用到oracle数据库,首先求出四类人群的数值,然后进行图形化呈现。

    在计算四类人群的数值时,使用for遍历,效率较低。如果直接使用sql语句进行统计,运行效率更高,大家可以尝试。

    相关文章

      网友评论

          本文标题:Python第21课:以图形化报表对某数据表分析

          本文链接:https://www.haomeiwen.com/subject/qpvesqtx.html