美文网首页
Python - Jupyter Notebook 画柱状图

Python - Jupyter Notebook 画柱状图

作者: rdczowh | 来源:发表于2016-07-27 12:20 被阅读0次
    1. 学习 Jupyter Notebook
    2. 学习如何用Jupyter Notebook 画柱状图。
    3. 代码:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    ​
    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    import pymongo
    from string import punctuation
    import charts
    ​
    
    In [25]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    client = pymongo.MongoClient('localhost', 27017)
    ganji = client['ganiji']
    url_list = ganji['url_list']
    infos = ganji['infos']
    #infos = ganji['item_infoY']
    
    In [121]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    area = ['1']
    for i in infos.find().limit(2):
     area = [' 北京', '通州', '土桥']
     infos.update({'_id': i['_id']}, {'$set': {'area': area}})
     print (area)
     print (i['area'][0])
     if i['area'][0] == " 北京": 
     area = [i['area'][0] + "-"+ i['area'][1], i['area'][2]]
     print('get here')
     print (area) 
     
     infos.update({'_id': i['_id']}, {'$set': {'area': area}})
    ​
     
    
    [' 北京', '通州', '土桥'] 北京get here[' 北京-通州', '土桥'][' 北京', '通州', '土桥'] 北京get here[' 北京-通州', '土桥']
    
    c:\users\rdczowh\appdata\local\programs\python\python35\lib\site-packages\ipykernel\__main__.py:4: DeprecationWarning: update is deprecated. Use replace_one, update_one or update_many instead.c:\users\rdczowh\appdata\local\programs\python\python35\lib\site-packages\ipykernel\__main__.py:12: DeprecationWarning: update is deprecated. Use replace_one, update_one or update_many instead.
    
    In [135]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    for i in infos.find():
     
     if i['area'][1]:
     area = [i for i in i['area'] if i not in punctuation]
     else:
     area =[' 北京'] + ['不明']
     infos.update({'_id': i['_id']}, {'$set': {'area': area}})
    
    c:\users\rdczowh\appdata\local\programs\python\python35\lib\site-packages\ipykernel\__main__.py:7: DeprecationWarning: update is deprecated. Use replace_one, update_one or update_many instead.
    
    In [136]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    for i in infos.find().limit(100):
     print (i['area'])
    
    [' 北京-通州', '土桥'][' 北京-通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '通州', '土桥'][' 北京', '朝阳', '国贸'][' 北京', '朝阳'][' 北京', '宣武', '白纸坊'][' 北京', '海淀', '牡丹园'][' 北京', '昌平', '回龙观'][' 北京', '宣武', '白纸坊'][' 昆山', '其他'][' 昆山', '其他'][' 北京', '不明'][' 昆山', '其他'][' 北京', '海淀', '中关村'][' 北京', '朝阳', '劲松'][' 北京', '宣武', '白纸坊'][' 北京', '朝阳'][' 北京', '昌平', '回龙观'][' 北京', '通州', '北关环岛'][' 北京', '海淀', '玉泉路'][' 北京', '朝阳', '管庄'][' 北京', '大兴', '旧宫'][' 北京', '崇文'][' 北京', '东城', '东四'][' 北京', '丰台', '方庄'][' 北京', '东城'][' 北京', '昌平', '回龙观'][' 北京', '东城', '东四'][' 北京', '顺义'][' 北京', '石景山'][' 北京', '东城'][' 北京', '大兴', '瀛海镇'][' 北京', '通州'][' 北京', '昌平', '回龙观'][' 北京', '东城'][' 北京', '顺义', '李桥'][' 北京', '昌平', '回龙观'][' 北京', '丰台'][' 北京', '朝阳'][' 北京', '东城', '灯市口'][' 北京', '丰台', '南苑'][' 北京', '海淀', '北大清华'][' 北京', '朝阳'][' 北京', '丰台', '方庄'][' 北京', '昌平', '霍营'][' 北京', '朝阳', '望京'][' 北京', '石景山', '八角'][' 北京', '大兴', '黄村'][' 北京', '丰台', '南苑'][' 北京', '海淀'][' 北京', '丰台', '木樨园'][' 北京', '海淀', '人民大学'][' 北京', '石景山', '八宝山'][' 北京', '海淀', '清河'][' 北京', '不明'][' 北京', '石景山'][' 北京', '朝阳', '小红门'][' 北京', '朝阳'][' 北京', '海淀', '清河'][' 北京', '海淀'][' 北京', '昌平'][' 北京', '北京周边'][' 北京', '海淀'][' 北京', '丰台', '方庄']
    
    In [32]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    series = [data for data in data_gen('column')]
    charts.plot(series, show='inline', options=dict(title=dict(text='发帖量')))
    
    . . .
    
    In [137]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    area_list = []
    for i in infos.find():
     area_list.append(i['area'][1])
    area_index = list(set(area_list))
    print(area_index)
    
    ['西城', '宣武', '大兴', '东城', '其他', '通州', '顺义', '土桥', '石景山', '北京周边', '海淀', '崇文', '昌平', '丰台', '不明', '朝阳']
    
    In [125]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    post_time = []
    for index in area_index:
     post_time.append(area_list.count(index))
    print (post_time)
    print (area_index)
    
    [2, 1, 3, 3, 8, 3, 43, 2, 6, 1, 11, 3, 8, 7, 16]['', '西城', '宣武', '大兴', '东城', '其他', '通州', '顺义', '石景山', '北京周边', '海淀', '崇文', '昌平', '丰台', '朝阳']
    
    In [143]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    def data_gen(types):
     length =0
     if length <= len(area_index):
     for area, times in zip(area_index, post_time):
     data = {
     'name': area,
     'data': [times],
     'type': types
     }
     yield data
     length += 1
    
    In [139]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    for i in data_gen('column'):
     print (i)
    
    {'date': [2], 'type': 'column', 'name': '西城'}{'date': [1], 'type': 'column', 'name': '宣武'}{'date': [3], 'type': 'column', 'name': '大兴'}{'date': [3], 'type': 'column', 'name': '东城'}{'date': [8], 'type': 'column', 'name': '其他'}{'date': [3], 'type': 'column', 'name': '通州'}{'date': [43], 'type': 'column', 'name': '顺义'}{'date': [2], 'type': 'column', 'name': '土桥'}{'date': [6], 'type': 'column', 'name': '石景山'}{'date': [1], 'type': 'column', 'name': '北京周边'}{'date': [11], 'type': 'column', 'name': '海淀'}{'date': [3], 'type': 'column', 'name': '崇文'}{'date': [8], 'type': 'column', 'name': '昌平'}{'date': [7], 'type': 'column', 'name': '丰台'}{'date': [16], 'type': 'column', 'name': '不明'}
    
    In [144]:
    Slide Type
    -
    Slide
    Sub-Slide
    Fragment
    Skip
    Notes
    
    series = [data for data in data_gen('column')]
    charts.plot(series, show='inline', options=dict(title=dict(text='发帖量')))
    
    1. 图表:
    Paste_Image.png

    相关文章

      网友评论

          本文标题:Python - Jupyter Notebook 画柱状图

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