任務(wù)
分析sample數(shù)據(jù)中各大類發(fā)帖量蚪腐,繪制圖表
工具
python 3
charts庫
jupyter網(wǎng)頁編程環(huán)境
代碼
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) #觀察發(fā)現(xiàn)數(shù)據(jù)規(guī)律
class_list = []
for i in item_info.find():
class_list.append(i['cates'][2][4:])
class_index = list(set(class_list)) #生成不重復(fù)的大類名稱列表
print(class_index)
post_times = []
for index in class_index:
post_times.append(class_list.count(index)) #生成各大類發(fā)帖量
print(post_times)
def data_gen(types): #數(shù)據(jù)生成器函數(shù)
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同城網(wǎng)站各類北京二手物品發(fā)帖量')))