利用Python建立圖表 — ( II )

延續上一篇,上次我們把網站的瀏覽人數建成了 list 的格式了,然而大家仔細看會發現次數並沒又對應到每一天的日期,只是單純的一行數字,這樣畫出來的圖沒辦法像我們要的結果,所以這邊要把這張 list 做加工,並且試試看加工後我們有沒辦法做些初步的資料分析。

首先我們要把 index 改掉,pd.Series內建的索引值是從 0 開始排,我們要把它改成用日期來排,所以第一件事情是要創建三十天的日期出來。不知道大家是否還記得pd.date_range,沒錯 !! 現在我們就要利用它來完成。

 

import pandas as pd
date = pd.date_range(start = '2018-7-10', end = '2018-8-8', freq = "D")
print(date)

沒錯~~三十天日期這麼簡單就誕生拉~~ 接著我們需要拿這些日期去取代前面pd.Series裡面的 index 。其實也很簡單,pd.Series內建參數可以調整 index,所以我們就在創建pd.Series時候直接修改就好:

statistical_data = pd.Series(viewing_count, index = date)
print(statistical_data)

沒錯,索引就通通變成日期拉~~在畫圖之前,其實光是變成這樣子的資料格式,就能玩出很多花樣了。我們來試試看幾個場景吧~~

首先我想統計這一個月中,每次星期二的瀏覽人數,

statistical_data["2018-07-10":"2018-08-08":7]

我先查好日曆,剛好 7/10 就是星期二,所以我們取"2018-07-10" : "2018-08-08"  ,也就是 7/10 到 8/8 的資料,: 7指的是資料相隔七筆取一次。所以就是 7/10, 7/17, 7/24, 7/31, 8/7。天數也被完整的取出來囉~

接著我想要看星期三跟星期五的瀏覽人數的平均比較:

wed_mean = statistical_data["2018-07-11":"2018-08-08":7]
fri_mean = statistical_data["2018-07-13":"2018-08-08":7]
print(sum(wed_mean)/len(wed_mean))
print(sum(fri_mean)/len(fri_mean))

我先把資料分別存到wed_meanfri_mean中,取出他們的總和並除以個數。

或著是也可以利用describe()來看統計資料。

print(wed_mean.describe())
print(fri_mean.describe())

資料一目了然吧~~以上就是很簡單很簡單很簡單的簡單數據分析XDDD,大家可能覺得沒有很方便,不過如果今天的天數放大到三年五年、甚至是十年,我們只要用一模一樣的步驟就好,而且快又準確。另外還有一個好消息:Python 還有內建很多分析的工具,未來再慢慢跟大家分享吧 !!

 

 

Facebook Comments

發表迴響