Python - Jupyter Notebook 画柱状图

2016-07-27  本文已影响0人  rdczowh
  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
上一篇下一篇

猜你喜欢

热点阅读