Python - Jupyter Notebook 画柱状图
2016-07-27 本文已影响0人
rdczowh
- 学习 Jupyter Notebook
- 学习如何用Jupyter Notebook 画柱状图。
- 代码:
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='发帖量')))
- 图表: