美文网首页
Python实战计划week3_2项目

Python实战计划week3_2项目

作者: 乐小Pi孩_VoV | 来源:发表于2016-08-04 18:20 被阅读0次

    python实战计划的第九个项目:用jupyter的简单的数据图表,将MongoDB中的数据展示出来。

    在week2_3实战中,被爬取的商品的信息存放在info_sheet表单中,这次我用jupyter连接,并打印出前300条,如下:

    a1.png

    在查看数据库的信息之后,我决定将不同地区的发帖量以图表的形式展现。

    其中重点在于如何把目标信息,以highcharts 绘图的格式整理出来,因为商品地区的第一个都是武汉,我便取它的第二个,有些第二个为空的则让它为空。

    1.统计一共有多少个地区

    cates_list=[]
    for i in info_sheet.find():
        cates_list.append(i['area'][1])
    cates_index=list(set(cates_list))
    print(cates_index,len(cates_index))
    #['', '新洲', '汉阳', '越秀', '汉南', '市南', '白云', '硚口', '其他', '沌口开发区', '东西湖', '江夏', '洪山', '蔡甸', '武昌', '二七', '青山', '黄陂', '江岸', '江汉'] 20
    

    包括一个空的项,一共有20个。

    2.用data_gen()函数,统计每个项都有多少次数,并将信息整理成highcharts 绘图的格式

    def data_gen(types):
        for cate,times in zip(cates_index,post_time):
            data={
                'name':cate,
                'data':[times],
                'type':types
            }
            yield data
    
    for i in data_gen('column'):
        print(i)
    ‘’‘
    {'type': 'column', 'name': '', 'data': [1791]}
    {'type': 'column', 'name': '新洲', 'data': [295]}
    {'type': 'column', 'name': '汉阳', 'data': [2299]}
    {'type': 'column', 'name': '越秀', 'data': [4]}
    {'type': 'column', 'name': '汉南', 'data': [117]}
    {'type': 'column', 'name': '市南', 'data': [2]}
    {'type': 'column', 'name': '白云', 'data': [2]}
    {'type': 'column', 'name': '硚口', 'data': [1997]}
    {'type': 'column', 'name': '其他', 'data': [3]}
    {'type': 'column', 'name': '沌口开发区', 'data': [804]}
    {'type': 'column', 'name': '东西湖', 'data': [1309]}
    {'type': 'column', 'name': '江夏', 'data': [1562]}
    {'type': 'column', 'name': '洪山', 'data': [6336]}
    {'type': 'column', 'name': '蔡甸', 'data': [331]}
    {'type': 'column', 'name': '武昌', 'data': [8091]}
    {'type': 'column', 'name': '二七', 'data': [4]}
    {'type': 'column', 'name': '青山', 'data': [1278]}
    {'type': 'column', 'name': '黄陂', 'data': [727]}
    {'type': 'column', 'name': '江岸', 'data': [4074]}
    {'type': 'column', 'name': '江汉', 'data': [3653]}
    ’‘’
    

    3.highcharts 绘图的代码

    series=[data for data in data_gen('column')]
    charts.plot(series,show='inline',options=dict(title=dict(text='发帖量')))
    

    图表:

    a.png

    最高的是武昌,第二是洪山,第三是江汉

    相关文章

      网友评论

          本文标题:Python实战计划week3_2项目

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