源碼開放:基于Pyecharts可視化分析蘇州旅游攻略
本文轉載自微信公眾號「尤而小屋」,作者尤而小屋 。轉載本文請聯系尤而小屋公眾號。
大家好,我是Peter~
全國旅游城市終于又更新啦!以前寫過廈門、長沙、成都、西安、大連。今天帶來的是:上有天堂,下有蘇杭:蘇州來了。終于擠出時間把蘇州的旅游景點和美食的攻略寫完了。
很多年之前Peter去蘇州旅游過一次,所以還是有些印象。到現在還記得當年去的幾個景點:觀前街、留園、蘇州博物館……
個人覺得蘇州這個城市還是蠻不錯的,真的是江南城市代表。到達蘇州站,看到蘇州護城河,河街相鄰;走到城市中,房子低檐,粉墻黛瓦,老街園林到處可見;看到各種園林古跡,歷史感比較厚重;聽到當地人說話,溫婉爾雅,輕聲細語。
將來一定會找個時機再游蘇州~
蘇州
蘇州是中國經濟高度發達的地區,是江蘇省的經濟中心、工商業和物流中心城市,也是重要的金融、文化、藝術、教育和交通中心。下面這幅圖來自維基百科,可以看到組成蘇州的幾個縣級市和區。鞏固下地理吧~
數據來源
本文中共有兩份數據:蘇州美食和蘇州景點。數據是通過爬蟲方式獲取的,文末有數據分析源碼獲取方式。
鄭重聲明:本文的數據僅作為數據分析和可視化效果展示使用,未用作其他用途;若有轉載,請注明出處~
數據效果
我們以蘇州景點的數據分析作為展示。本文亮點是所有的圖形使用的是可視化庫:pyecharts,這是一個國產的可視化庫
蘇州景點
蘇州景點的數據分析主要是從以下幾個方面展開:
導入庫
- import pandas as pd
- import re
- # 顯示所有列
- # pd.set_option('display.max_columns', None)
- # 顯示所有行
- # pd.set_option('display.max_rows', None)
- # 設置value的顯示長度為100,默認為50
- # pd.set_option('max_colwidth',100)
- # 繪圖相關
- import jieba
- import matplotlib.pyplot as plt
- from pyecharts.globals import CurrentConfig, OnlineHostType # 事先導入,防止不出圖
- from pyecharts import options as opts # 配置項
- from pyecharts.charts import Bar, Pie, Line, Funnel, WordCloud, Grid, Page # 各個圖形的類
- from pyecharts.commons.utils import JsCode
- from pyecharts.globals import ThemeType,SymbolType
省略相關的數據導入和數據探索部分,重點是看看數據分析的結果。蘇州景點數據有2000*8
景點分布
在這里展示的蘇州各個地方的景點個數:
- c = (
- Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
- .add("", [list(z) for z in zip(df2["location"].tolist(), df2["number"].tolist())])
- .set_global_opts(title_opts=opts.TitleOpts(title="蘇州景點分布"),
- legend_opts=opts.LegendOpts(pos_left="80%", orient="vertical"))
- .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
- )
- c.render_notebook()
攻略數前10名的景點
很多的景點都有游客寫了攻略數,我們可以把攻略數作為一種參考:
景點評論數
驢友百分比
驢友百分比表示的是大致有多少的游客到過相同的景點:
園林城市
蘇州是一個園林城市,我們從數據中看到:本次獲取到的數據里面蘇州有457個和“園”相關的景點。比較出名的還是:
- 拙政園
- 留園
- 網師園
古城街道
蘇州也是一個歷史感很厚重的城市,數據中顯示有106條的街道:
- 山塘街
- 平江路歷史街區
- 觀前街
寺廟
數據中也顯示蘇州共有96個寺廟:其中最為出名的還是寒山寺
月落烏啼霜滿天,江楓漁火對愁眠,姑蘇城外寒山寺,夜半鐘聲到客船
景點詞云圖
我們獲取到的數據景點的中文名和簡介進行了詞云圖展示:
1、全部的詞云展示
2、截取前50個高頻詞
通過兩種詞云圖的展示,我們發現蘇州的景點中:
- 公園是比較多的
- 各種館,比如:博物館、展覽館、藝術館、美術館等也很豐富
- 文化氣息濃厚:文化、文物保護、建筑等
蘇州美食
蘇州美食數據有2000條,6個字段。
得分分布
得分這個字段的分布情況。得分為0.0表示沒有得分
從上圖中我們可以看到很多店是沒有評分的。接下來,我們看看評分為5分的都是哪些店鋪(取前10名)
- 牛排店
- 知名酒店
- 咖啡廳
消費均價
對字段“均價”的統計分析,分類的規則:
- def price(x):
- if x < 20:
- return "很便宜"
- if x < 50:
- return "價格親民"
- if x < 100:
- return "可以接受"
- if x < 200:
- return "人均消費較高"
- else:
- return "高檔餐廳"
利用下面的代碼進行餅圖的繪制:
- c = (
- Pie(init_opts=opts.InitOpts(theme=ThemeType.CHALK))
- .add("", [list(z) for z in zip(df5["分類"].tolist(), df5["數量"].tolist())])
- .set_global_opts(title_opts=opts.TitleOpts(title="蘇州美食店鋪均價數量占比分布",subtitle="備注:排除沒有均價店鋪"),
- legend_opts=opts.LegendOpts(pos_left="80%", orient="vertical"))
- .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
- )
- c.render_notebook()
高消費餐廳
通過均價字段的降序,我們看看蘇州的高消費地方都是哪里?
酒店
數據中顯示蘇州有酒店86家,其中知名的酒店:
- 蘇州洲際酒店
- 金陵飯店花園酒店
- 蘇州金雞湖新羅酒店
面館
總共117家面館,如果你是個面食愛好者,這些地方你一定不要錯過:
- 老東吳面館(莫厘路店)
- 奧灶面
- 同得興精品面館(觀前街店)
美食店統計
從面館、燒烤、酒店、火鍋串串等8個不同的方面進行美食店鋪的統計:
美食詞云
蘇州的美食詞云圖主要是將數據的“推薦菜”這個字段進行詞云圖的展示,看看當地人愛好哪些美食。
1、全部詞云圖
2、前50個詞語
從詞云圖中可以看到,蘇州人的口味還是很清淡的。游客的推薦菜中:
- 牛肉為主要菜品
- 菜的做法:紅燒(肉)、清蒸、烤
- 鐘愛蝦:蝦、蝦仁、河蝦等
- 喜歡海鮮:尤其是魚,還有魷魚、、三文魚等
蘇州屬于太湖境內,肯定是不能錯過大閘蟹。
總結
看完上面蘇州旅游景點和美食的分析,如果你到蘇州必去的地方:
- 園林:拙政園、留園
- 寺廟:寒山寺、重元寺
- 街道:山塘街、平江路歷史街區、觀前街
- 蘇州博物館
你必不能錯過的美食:
- 蘇州的牛肉(牛肉粉、牛肉酥等),可以品嘗
- 蝦蟹:太湖區域水產品多,比如蝦仁、大閘蟹等
- 面食:餛飩、生煎你也不能錯過。記得當時Peter吃過一家名為“樂惠”的小餛飩,挺贊的~還有蘇式湯面也值得品嘗