爬取資料的三字真言
**整理清洗資料;下面我幾句我這幾天所的視覺化資料統計的知識,來簡單總結一下知識點:更新資料庫;
資料的視覺化;**
我們上**:
#引入我們所需要的庫檔案
import pymongo
from string import punctuation
import charts
#連線資料庫
client = pymongo.mongoclient('localhost',27017)
ceshi = client['ceshi']
item_info = ceshi['item_infoy']
#展開預覽資料
for i in item_info.find().limit(300):
print(i['area'])
加入我們想要的資料是這樣的:
[『朝陽』, 『高碑店』]但是真實的資料是這樣的:[『朝陽』, 『定福莊』]
[『西城』, 『西單』]
[『朝陽』, 『望京』]
[『朝陽』, 『-『, 『高碑店』]所以我們要將資料庫中的資料更改為我們想要的:[『朝陽』, 『-『, 『定福莊』]
[『西城』, 『-『, 『西單』]
[『朝陽』, 『-『, 『望京』]
下面簡單的上段**演示一下:
for i in item_info.find():
if i['area']:
area = [i for i in i['area'] if i not
in punctuation]
else:
area = ['不明']
#將更改後的資料在資料庫中進行更新:
item_info.update(,})
highcharts官網:
下面我用折線圖為做個示例:
首先,我們來看一下官網上折線圖的js**是怎樣的:
$(function () ,
subtitle: ,
xaxis: ,
yaxis: ,
plotlines:
},tooltip: ,
legend: ,
series: [, , , ]
});});
然後我們試著用python來實現上面的js**:
#在這裡我們需要乙個日期,這裡實現的乙個自增長的日期函式;
defget_all_dates
(date1,date2):
the_date = date(int(date1.split('.')[0]),int(date1.split('.')[1]),int(date1.split('.')[2]))
end_date = date(int(date2.split('.')[0]),int(date2.split('.')[1]),int(date2.split('.')[2]))
days = timedelta(days=1)
while the_date <= end_date:
yield (the_date.strftime('%y.%m.%d'))
the_date = the_date + days
#列印一下;
for i in get_all_dates('2015.12.24','2016.01.05'):
print(i)
結果是:
2015.12.242015.12.25
2015.12.26
2015.12.27
2015.12.28
2015.12.29
2015.12.30
2015.12.31
2016.01.01
2016.01.02
2016.01.03
2016.01.04
2016.01.05
#我們需要將我們的資料和js**中的series資料格式統一;
defget_data_within
(date1,date2,areas):
for area in areas:
area_day_posts =
for date in get_all_dates(date1,date2):
a = list(item_info.find())
each_day_post = len(a)
data =
yield data
#列印一下:
for i in get_data_within('2015.12.24','2016.01.05',['朝陽','海淀','通州']):
print(i)
結果是:
#最後用python將js**實現:
options = ,
'subtitle': ,
'xaxis' : ,
'yaxis' : }
}series = [i for i in get_data_within('2015.12.24','2016.01.05',['朝陽','海淀','通州'])]
charts.plot(series, options=options,show='inline')
# options=dict(title=dict(text='charts are awesome!!!'))
看一下成果:
1、jupyter
2、highcharts
安裝成功後我來演示一下具體你操作:
開啟命令列工具,輸入jupyter-notebook;
這時預設瀏覽器會自動開啟,接著你就可以在上面對你所爬取的資料進行統計視覺化了;
統計csv詞頻 統計詞頻並視覺化
最近參加乙個nlp的競賽,賽方提供了10萬條資料。由於是脫敏資料,所以作nlp之前需要先作word2vec,這時就需要將標點符號和無意義的詞 比如 的 去掉,我們採用的方法就是去掉高頻詞,所以首先要找到高頻詞。如何找到高頻詞呢,這裡當然可以使用dict了,但是有沒有更高階一點的方法呢。當然有了,我們...
Python矩陣回歸並視覺化
from matplotlib import pyplot as plt import numpy as np from mpl toolkits.mplot3d import axes3d fig plt.figure figsize 10 6 ax axes3d fig 列出實驗資料 point...
python隨機漫步資料,並視覺化
randow walk.py內的 隨機漫步 from random import choice class randomwalk 乙個生成隨機漫步資料的類 def init self,num points 5000 初始化隨機漫步的屬性 self.num points num points 所有隨機...