python爬蟲(4) 統計並視覺化資料

2021-07-16 18:57:46 字數 3347 閱讀 5187

爬取資料的三字真言

**整理清洗資料;

更新資料庫;

資料的視覺化;**

下面我幾句我這幾天所的視覺化資料統計的知識,來簡單總結一下知識點:

我們上**:

#引入我們所需要的庫檔案

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.24

2015.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 所有隨機...