源码开放:基于Pyecharts可视化分析苏州旅游攻略

734 阅读6分钟

公众号:尤而小屋
作者:Peter
编辑:Peter

大家好,我是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, HeatMap, 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个高频词

通过两种词云图的展示,我们发现苏州的景点中:

  1. 公园是比较多的
  2. 各种馆,比如:博物馆、展览馆、艺术馆、美术馆等也很丰富
  3. 文化气息浓厚:文化、文物保护、建筑等

苏州美食

苏州美食数据有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个词语

从词云图中可以看到,苏州人的口味还是很清淡的。游客的推荐菜中:

  • 牛肉为主要菜品
  • 菜的做法:红烧(肉)、清蒸、烤
  • 钟爱虾:虾、虾仁、河虾等
  • 喜欢海鲜:尤其是鱼,还有鱿鱼、、三文鱼等

苏州属于太湖境内,肯定是不能错过大闸蟹

总结

看完上面苏州旅游景点和美食的分析,如果你到苏州必去的地方:

  1. 园林:拙政园、留园
  2. 寺庙:寒山寺、重元寺
  3. 街道:山塘街、平江路历史街区、观前街
  4. 苏州博物馆

你必不能错过的美食:

  1. 苏州的牛肉(牛肉粉、牛肉酥等),可以品尝
  2. 虾蟹:太湖区域水产品多,比如虾仁、大闸蟹等
  3. 面食:馄饨、生煎你也不能错过。记得当时Peter吃过一家名为“乐惠”的小馄饨,挺赞的~还有苏式汤面也值得品尝

福利来咯:数据分析源码获取方式,关注尤而小屋,回复苏州即可获取以下资料,已经打包:

1、2:苏州景点和美食的数据分析全代码

3:Peter一直在使用的停用词表,也在不断补充

4、5:景点和美食的原始数据