【基于hadoop的競賽網站日志數據分析與可視化(上)】講解了如何用hadoop對數據進行初步處理,本篇主要講解用python對結果數據進行可視化分析。
-------------------------------------------------------------------------------------------------------------
5 數據可視化與分析
5.1 不同日期訪問次數可視化
5.1.1 代碼設計
? ? ? ?用pd.read_csv讀取文本文件,指定分隔符sep='\t'(適配制表符分隔的格式),手動命名列(names=['date', 'visit_count'])。先清理日期字符串的空白(避免解析異常),再用pd.to_datetime轉化為時間格式(errors='coerce'把解析失敗的設為NaN),最后刪除無效行。
? ? ? ?用groupby('date')把分散的訪問量“按天歸集”,求和得到每日總訪問量;再用折線圖(加標記點)呈現時間維度的變化趨勢(方便觀察波動、峰值)。通過標簽、排版優化讓圖表更“易用”;用describe()輸出統計指標(如平均訪問量、最大最小值),補充可視化之外的量化結論。
圖5-1-1 不同日期訪問次數可視化代碼
5.1.2 運行結果與分析
? ? ? ?由圖5-1-2-1和圖5-1-2-2,標準差高達4,176,表明數據分布極不均勻,中位數(704)遠低于平均值(1,739),說明數據右偏嚴重,75分位數為1,436,但最大值高達41,518,存在極端異常值,這種分布表明少數用戶貢獻了絕大部分訪問
? ? ? ?流量整體趨勢屬于“瓶頸期+爆發期”接替,2020年12月出現異常高峰(接近40,000次訪問),2021年初訪問量有所回落但仍高于2020年夏季水平,建議對這個時間短的數據進行進一步分析。
圖5-1-2-1 輸出結果
圖5-1-2-2 可視化結果
5.3 四個月各用戶訪問次數可視化
5.3.1 代碼設計
①數據處理
? ? ? ?先用split(',', 1)精準切分“頁面 ID”和“時間+次數”,再對第二部分用split('\t')拆出時間與次數——這是針對“非標準分隔符”的定制化解法,確保混亂格式能被解析。
? ? ? ?通過count <= 0過濾無效瀏覽量,用pd.to_datetime(..., errors='coerce')+pd.isna篩掉畸形時間。最終打包成 DataFrame,讓下游分析能直接調用。
圖5-3-1-1 數據處理代碼1
圖5-3-1-2 數據處理代碼2
②訪問頻率分布
? ? ? ?先groupby('user_id')['visits'].sum()算出每個用戶的總訪問量。再用user_visits['visits'] < 200把極端值“砍一刀”,讓直方圖聚焦大多數用戶的分布(畢竟運營中 80% 精力要服務普通用戶)。
? ? ? ?用histplot(..., kde=True)同時呈現“次數分布”和“密度趨勢”,一眼就能看出 “用戶訪問次數集中在哪個區間、分布是否均勻”。
圖5-3-1-1 訪問頻率分布代碼
③頂級活躍用戶分析
? ? ? ?抓出頭部:nlargest(20, 'visits')篩出訪問量 Top20 用戶;barplot用彩色柱狀圖把他們的“貢獻值”可視化,解決“誰是核心用戶”的問題。
? ? ? ?追蹤行為:提取這些用戶 ID 后,all_data[all_data['user_id'].isin(top_user_ids)]精準抓取其行為數據;再按日期排序,用plt.plot畫出每日訪問曲線,把“用戶是誰”延伸到 “用戶做了什么”,挖掘他們的訪問規律,為“如何留住/復制這些用戶”提供依據。
圖5-3-1-2 頂級活躍用戶分析代碼
5.3.2 運行結果與分析
由頻率分布可視化結果(圖5-3-2-1)我們可以得出以下結論。
①用戶訪問行為的“長尾分布”特征
? ? ? ?集中低訪問區間:大部分用戶(柱狀圖左側高柱)的總訪問次數集中在 0-25 次 區間,說明平臺的基礎用戶群體以“輕度訪問”為主,這是互聯網產品常見的 “長尾分布”特征——少數用戶貢獻高頻訪問,多數用戶訪問頻次低。
? ? ? ?長尾衰減趨勢:隨著總訪問次數增加(橫軸向右),用戶數量快速減少(柱狀圖高度驟降),且頻率曲線(藍色線條)呈指數級衰減,意味著 高頻訪問用戶(如>50 次)占比極低,屬于平臺的 “核心活躍用戶”。
②平臺用戶分層與運營重點
? ? ? ?基礎用戶(0-25 次):占比最大,是平臺流量基本盤。需通過優化體驗(如簡化操作、首頁內容推薦)留住這部分用戶,避免流失;可設計“新手任務”、“簽到獎勵” 等引導其增加訪問。
? ? ? ?潛力用戶(25-50 次):用戶數量明顯減少,但仍有一定規模。這部分用戶有向高頻轉化的潛力,可通過“進階任務”、“專屬內容推送”(如競賽沖刺攻略)提升活躍度。
? ? ? ?核心用戶(>50 次):數量極少,但貢獻了大量訪問。需重點維護(如專屬客服、高級權益),他們是平臺口碑傳播、內容消費的關鍵群體。
圖5-3-2-1 用戶訪問頻率分布可視化
由頂級活躍用戶可視化分析結果(圖5-3-2-2、圖5-3-2-3)可得出以下結論。
①訪問波動與活躍度
? ? ? ?高活躍用戶識別:部分用戶(如用戶 9430、用戶 93223 )在較長時間內保持較高訪問次數,是平臺超級活躍用戶,對平臺粘性強、參與度高。
? ? ? ?波動型用戶:多數用戶訪問次數隨時間明顯波動(如用戶 93497 前期高訪問,后期驟降),說明其活躍度受外部因素(如競賽節奏、個人時間)影響大。
②時間周期與行為規律
? ? ? ?短期集中訪問:圖中多條曲線在特定時間點(如 2020-11-03、2021-01-26 )出現峰值,可能對應平臺關鍵節點(如競賽活動、內容更新),觸發核心用戶集中訪問。
? ? ? ?長期衰減趨勢:多數用戶后期訪問次數下降,需關注平臺長期留存策略,避免核心用戶流失
圖5-3-2-2 訪問次數最多的前20名用戶數據可視化
圖5-3-2-3 頂級用戶每日訪問次數時間序列可視化
5.4 四個月各頁面訪問次數可視化
5.4.1 代碼設計
? ? ? ?在上一小節數據處理的代碼上增加以下核心代碼,進行對四個月各頁面訪問次數的可視化。
? ? ? ?首先用groupby做“數據歸集”,把零散的瀏覽行為收攏到“頁面”這個業務實體;sort_values 則是“篩選重點”,避免無差別分析——畢竟運營中 80% 價值往往來自 Top 頁面。接著用柱狀圖把“頁面-總覽量”的抽象關系,轉化為直觀的長短對比,一眼鎖定“哪些頁面最核心”。
? ? ? ? 進一步把時間切分到“周維度”,但關鍵是用 pd.Categorical 規范星期順序——這是“對抗數據無序性”的細節設計(否則默認按字母排序,圖表會失去業務意義),然后用柱狀圖對比不同頁面的“周活躍模式”。
? ? ? ?用箱線圖展示“數據分布的離散程度”——中位數(箱體中線)體現“典型瀏覽量”,箱體高度體現“日常波動范圍”,離群點體現“異常流量(活動/爬蟲等)”。回答“頁面流量穩定嗎?”——如果頁面的箱線圖“上須”極長,說明偶爾有爆發式訪問,需排查是運營亮點(可復制)還是異常(需監控)。
圖5-4-1 各頁面訪問數據可視化核心代碼
5.4.2 運行結果與分析
? ? ? ?由熱門頁面總瀏覽次數對比圖(圖5-4-2-1)可知,頁面 ID 為 1693、1688 的總瀏覽次數遠超其他頁面,是流量核心,直接體現 “哪些頁面最受關注(總量維度)”。
圖5-4-2-1 熱門頁面總瀏覽次數對比圖
由熱門頁面瀏覽量分布箱線圖(圖5-4-2-2)可得到以下信息。
①整體分布特征
? ? ? ?差異懸殊:不同頁面瀏覽量差距極大,部分頁面(如1488、1544等)瀏覽量集中在極低區間,而1688、1693等頁面瀏覽量顯著更高,反映出頁面受關注程度分化明顯。
? ? ? ?異常值(離群點):1688、1693等頁面存在明顯長須和離群點,說明這些頁面偶爾會出現遠高于日常的瀏覽峰值,可能受活動、突發流量等影響。
②重點頁面分析(以1688、1693為例)
? ? ? ?1688 頁面箱體跨度大(從接近 0 到 20000+),說明瀏覽量波動劇烈,日常瀏覽量分布廣;中位數(箱體中間線)約 10000,代表“典型瀏覽量水平”,長上須和高離群點,佐證存在爆發式流量;1693 頁面箱體高度與 1688 接近,但上須更長、離群點更高(近 40000),峰值流量更極端,中位數略低于 1688,說明“典型瀏覽量”稍弱,但爆發潛力更強。
③低流量頁面特征(如 1488、1544 等 )
? ? ? ?箱體極扁、須極短,甚至幾乎與 x 軸重合,說明這些頁面瀏覽量極低且穩定,幾乎無波動,屬于“冷門頁面”,需評估其價值或優化必要性。
圖5-4-2-2 熱門頁面瀏覽量分布箱線圖
根據圖5-4-2-3和圖5-4-2-4,我們可以得到以下信息。
①核心趨勢:“流量斷層分化+逐月衰減”
? ? ? ?藍色(1488)、綠色(1628)兩條線 “初期高流量、后期暴跌”,這類頁面大概率是“短期活動頁/熱點頁”(比如2020年11-12月的營銷活動頁,活動結束后流量自然回落)。其他顏色線條“全程低流量”,屬于“長尾頁面”(可能是內容冷門、入口隱蔽,或缺乏運營投入)。
②核心規律“少數頁面壟斷周內流量”
? ? ? ?棕色(1628)在 Monday(周一) 流量峰值,推測是 “工作日強相關頁面”(如辦公工具、工作資訊類,周一用戶集中使用);藍色(1693)在Tuesday(周二)流量斷層領先,可能是“周二特定場景頁”(如行業報告發布、會員日活動,吸引用戶集中訪問);其他頁面“周內流量極低且分散”缺乏明確的用戶訪問規律,或用戶需求弱。
圖5-4-2-3 熱門頁面瀏覽量遂月份變化可視化
圖5-4-2-4 熱門頁面的周瀏覽模式可視化
-------------------------------------------------------------------------------------------
需要數據集和完整代碼的私我