任務
分析sample數據中各大類發帖量,繪制圖表
工具
python 3
charts庫
jupyter網頁編程環境
代碼
import pymongo
import charts
client = pymongo.MongoClient('localhost',27017)
test = client['test']
item_info = test['sample']
for i in item_info.find().limit(200):
print(i) #觀察發現數據規律
class_list = []
for i in item_info.find():
class_list.append(i['cates'][2][4:])
class_index = list(set(class_list)) #生成不重復的大類名稱列表
print(class_index)
post_times = []
for index in class_index:
post_times.append(class_list.count(index)) #生成各大類發帖量
print(post_times)
def data_gen(types): #數據生成器函數
length = 0
if length <= len(class_index):
for class_name,times in zip(class_index,post_times):
data = {
'name':class_name,
'data':[times],
'type':types
}
yield(data)
length+=1
for i in data_gen('column'):
print(i)
series = [ data for data in data_gen('column')]
charts.plot(series, show='inline', options = dict(title=dict(text='58同城網站各類北京二手物品發帖量')))
運行結果
1.jpg