13 Древняя столица Сиань ждет вас

анализ данных

Сиань, древняя столица Тринадцати династий

Это четвертая часть Национального путеводителя. Первые три:

Географическое положение - от юго-восточного побережья, к середине, а затем к юго-западу.Сегодня это город на северо-западе с сильной историей и культурой.По крайней мере, 13 династий построили здесь свои столицы:Сиань, Я сам там не был, но однажды проезжал мимо на поезде, и я с нетерпением жду вкусной еды и веселых мест в Сиане.

общий эффект

Давайте посмотрим на количество различных продуктовых магазинов в Сиане.

Сиань имя

Следующее содержательное знание исходит изВикипедия, чисто научно-популярная, в ней рассказывается о смене исторического названия Сиань, изучайте исторические знания:

  • «Город Сиань»:Фэнъи(Инь Шан) - Хаоцзин (Западная династия Чжоу) - Чанъань (Западная династия Хань) - Чанъань (Синьман) - Чанъань (Восточная династия Хань) - Чанъань (Цао Вэй) - Чанъань (Западная Цзинь) - Чанъань (бывший Цинь) - Чанъань (позже Цинь) - Чанъань (Северная династия Чжоу) - Дасин (Суй) - Чанъань (династия Тан) - Даань (позднее Лян) - Чан Ань (поздняя династия Тан) - Юнсин (Сун) - Фэнъюань (Юань) - Сиань (Мин) - Сиань (Цин) - Сиань (Китайская Республика) ) - Сиань (Китайская Народная Республика) )
  • «Сиань»: Цзунчжоу (Чжоу) - Нэй Ши (Цинь) - Цзинчжао (Хань) - Цзинчжао (Новый) - Цзинчжао (Южная и Северная династии) - Цзинчжао (Суй) - Цзинчжао (Тан) - Даань (Хоу) Лян) - Цзинчжао (поздняя династия Тан) - Цзинчжао (Сун) - Фэнъюань (Юань) - Сиань (Мин) - Сиань (Цин) - Сиань (Китайская Республика) - Сиань (КНР) Китай)

Источники данных

Данные поступают с общедоступного веб-сайта в Интернете и собираются поисковым роботом. Конкретный процесс см. по адресу:

  • Развлечения СианяОбратитесь к статье Сямыня
  • Сиань ФудОбратитесь к статье в Чанша

Основные точки знаний краулера:

  1. запросы отправляются для получения данных веб-страницы
  2. Парсинг данных на основе регулярных выражений
  3. Сохранение данных на основе пакета csv

⚠️: Я напишу статью, чтобы объяснить в будущемКак разбирать данные с помощью регулярных выражений на основе модуля re в Python

Развлечения Сианя

Всего 8 полей информации: китайское имя, английское название, количество стратегий, количество комментариев, местоположение, рейтинг, доля друзей-осликов, введение

Сиань Фуд

6 полей информации: китайское название, оценка, средняя цена, адрес, рекомендуемые блюда, оценка

библиотека импорта

import pandas as pd
import re
import csv
import json
import requests
import random

# 显示所有列
# 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, Scatter, Pie, Line, HeatMap, Funnel, WordCloud, Grid, Page  
from pyecharts.commons.utils import JsCode   
from pyecharts.globals import ThemeType,SymbolType

import plotly.express as px
import plotly.graph_objects as go
from plotly.subplots import make_subplots  # 子图

Развлечения Сианя

Сначала посмотрите на общие данные, показывающие, что существует 1864 достопримечательности:

Количество региональных достопримечательностей

Количество живописных мест в Сиане в основном распределено по: городским районам Сианя, Чжоужи, Ланьтяню, Линтуну, Гаолину.

location = df["location"].value_counts().reset_index().rename(columns={"index":"location","location":"number"})

c = (
    Pie(init_opts=opts.InitOpts(theme=ThemeType.MACARONS))
    .add("西安景点个数",[list(z) for z in zip(location["location"].tolist(),location["number"].tolist())])
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)

c.render_notebook()

Король аттракционов Отзывы

Есть много связанных отзывов о некоторых живописных местах в Сиане. Какие живописные места имеют самые высокие отзывы?

df = pd.read_csv("西安景点.csv")
comment_top10 = df.sort_values("comment",ascending=False)[:10]

# 作图
fig = px.bar(comment_top10,x="cn_title",y="comment",color="comment",text="comment")
fig.update_traces(textposition="outside")
fig.show()

Самые популярные комментарии, которые вы можете увидеть:Музей мавзолея Цинь Шихуанди (терракотовые воины), колоссальные 20 339 комментариев, за которыми следуютМавзолей Цинь Шихуанди, 16050. Это действительно популярная достопримечательность Сианя.

Король рейдеров

Давайте посмотрим на количество путеводителей по достопримечательностям:

# pyecharts实现

x_data = strategy_top10["cn_title"].tolist()
y_data = strategy_top10["strategy"].tolist()

c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
    .add_xaxis(x_data)
    .add_yaxis("西安景点攻略数前10名",y_data)
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-20)),  # 设置旋转角度
    )
)

c.render_notebook()

Должны сделать достопримечательности

Извлеките достопримечательности с более чем 1000 путеводителей и обзоров:

comment_strategy = df[(df["comment"] >= 1000) & (df["strategy"] >= 100)]

fig = px.scatter(comment_strategy,
           x="comment",
           y="strategy",
           color="comment",
           size="strategy",
           text="cn_title"
          )

# ['top left', 'top center', 'top right', 'middle left',
# 'middle center', 'middle right', 'bottom left', 'bottom center', 'bottom right']

fig.update_traces(textposition="top center")

fig.show()

Из результатов, показанных на рисунке, можно выделить несколько обязательных к посещению достопримечательностей:

  • Музей мавзолея Цинь Шихуанди (терракотовые воины)
  • Мусульманская улица
  • Мавзолей Цинь Шихуанди
  • Дворец Хуацин
  • Исторический музей Сяса
  • Сианьская городская стена
  • Башня Да-Янь
  • Сад Дананг Фуронг

Рейтинг в сердцах туристов

# 西安市区景点排名

ranking_xian = df[(df["location"] == "西安") & (df["ranking"] != 0)].sort_values("ranking",ascending=True)[1:][:20]
ranking_xian

Видно, что у многих популярных достопримечательностей действительно много обзоров и стратегий, таких как:

  1. Музей мавзолея Цинь Шихуанди (терракотовые воины)
  2. Мусульманская улица
  3. Гора Гуйфэн (это живописное место все еще очень неожиданно, возможно, это самая известная гора в Сиане)
  4. Сад Дананг Фуронг и др.

Сиань Палас

В Сиане должно быть много дворцов, посмотрим, сколько в полученных данных дворцовых достопримечательностей:

Давайте посмотрим на живописные места 10 лучших дворцов:Дворец Хуацин, Парк национального наследия дворца Дамин, Музей дворца Дамин, Дворцовый парк Синцин, Дворец ЭфангЖдать

Цинь Ши Хуан был великолепен.

Проведя приведенный выше анализ, мы обнаружили, что: **Музей-мавзолей Цинь Шихуана (терракотовых воинов)** — очень известное живописное место в Сиане, так что давайте посмотрим, какие достопримечательности связаны с Цинь Шихуаном?

qinshihuang = df[df["cn_title"].str.contains("秦始皇")].reset_index(drop=True)
qinshihuang

Приведенные выше результаты показывают, что всего существует 7 достопримечательностей, из которыхМузей мавзолея Цинь Шихуанди (терракотовые воины)иМавзолей Цинь ШихуандиСамый популярный.

Количество парков?

В каждом городе есть свой парк, мы смотрим на номер Сианьского парка:

park = df[df["cn_title"].str.contains("公园")].reset_index(drop=True)
print("公园个数:{}".format(len(park)))
# 结果
公园个数:133

Результат 133, действительно много! ! ! Взгляните на 5 лучших парков в данных:

Парк национального наследия Дворец Дамин, Национальный лесной парк Тайпин, Полярный парк океана Цюйцзян, Парк руин бассейна ЦюйцзянКомментарии еще впереди

ЭЛИС Любимые достопримечательности

Достопримечательности с высокой долей наших друзей ALICE:

lvyou = df.sort_values("lvyou_number",ascending=False)[:10].reset_index(drop=True)

fig = px.bar(lvyou,x="cn_title",y="lvyou_number",text="lvyou_number")

fig.update_traces(textposition="outside")

fig.show()

В самом деле:Мусульманская улица, Музей мавзолея Цинь Шихуанди (терракотовые воины и лошади), Большая пагода диких гусей, Музей истории ШэньсиОжидание - хорошее притяжение в сердцах ЭЛИС.

Суммировать

Проанализировав приведенные выше данные о живописных местах, мы обнаружили, что следующие живописные места в Сиане заслуживают посещения:

  1. Музей мавзолея Цинь Шихуанди (терракотовые воины): Терракотовые воины действительно являются представителем достопримечательностей Сианя.
  2. Мусульманская улица: место сбора всех видов еды и закусок в Сиане.
  3. Большая пагода диких гусей: расположена вВнутри храма Дациен, район Янта, город Сиань, самая ранняя и самая большая существующая кирпичная башня в стиле квадратного павильона династии Тан, посвященная статуям Будды, привезенным из Тяньчжу (Индия) Сюаньцзаном,Шеллиисанскритклассический
  4. Парк национального наследия дворца Дамин: основанный в период Чжэнгуань императора Тайцзуна династии Тан, это самый великолепный и великолепный комплекс зданий в дворцовых зданиях Сианя.
  5. Дворец Хуацин: также известен какБассейн Хуацин, Дворец Лишань, Дворец Ли, Дворец Сюлин, другой дворец феодального императора Юсина из династии Тан, место, где император Тан Сюаньцзун и наложница Ян Гуйфэй купались вместе в любви.Сиань Инцидентместо возникновения.

Сиань Фуд

Всего в Сиане 1870 элементов данных о продуктах питания. Давайте посмотрим на первые 5 элементов данных:

Сианьская паста

Северяне очень любят есть макароны, давайте заглянем в лапшичные рестораны и лапшичные в Сиане:

df1 = pd.read_csv("西安美食.csv")
noodles = df1[df1["中文名"].str.contains("面")].reset_index(drop=True)
noodles
print("面馆总数:",len(noodles))

# 结果
面馆总数: 115

в соответствии сСчетУбывающий порядок полей для просмотра 10 лучших магазинов:

номер одинСекретный жареный глютень брата Сяовея с орехами, вам стоит попробовать, и адрес вам тоже дан.

лапша биангбианг

Бианг пишется так?, штрихов довольно много

Всего насчитывается 11 магазинов лапши biangbiang.** Лапша biangbiang тети Чжэн (магазин в южном дворе)** участвовала в программе «Everyday Upward», она стоит вашего вкуса.

Лянпи

Когда вы приедете в Сиань, вы не должны пропустить Лянпи, Всего в данных 19:

liangpi = df1[df1["中文名"].str.contains("凉皮")].sort_values("得分",ascending=False).reset_index(drop=True)
liangpi.head(10)

# 取出前10家店
fig = px.scatter(liangpi[:10],x="得分",y="均价",color="均价",size="均价",text="中文名")
fig.update_traces(textposition="top center")

fig.show()

Холодная кожа есть:Вэйцзя ЛянпиВерно.

Вейцзя Лянпи, Вейцзя Лянпи, Вэйцзя Лянпи!

булочка на пару

Жители провинции Шэньси также любят есть булочки, приготовленные на пару. Неплохи булочки с бараниной и роуцзямо. Всего в данных 87 булочек на пару:

mo = df1[df1["中文名"].str.contains("馍")].sort_values("得分",ascending=False).reset_index(drop=True)

# 取出前10家店

fig = px.scatter(mo[:10],
                 x="得分",
                 y="均价",
                 color="均价",
                 size="均价",
                 text="中文名",
                 width=900, 
                 height=700)

fig.update_traces(textposition="top center")

fig.show()

Ружамо

Давайте взглянем на еще одну известную закуску в Шэньси:Ружамо, возьмите 5 лучших связанных данных:

roujiamo = df1[df1["中文名"].str.contains("肉夹馍")].sort_values("得分",ascending=False).reset_index(drop=True)
roujiamo.head(5)

Данные показывают, что 36

номер одинFanjia Baked Roujia Mo (Xiwu Road),Общий:Недорого, хорошие отзывы.

булочка на пару

После просмотра Roujiamo давайте посмотримБаранина на пару: Всего в данных 38 магазинов.

paomo = df1[df1["中文名"].str.contains("泡馍")].sort_values("得分",ascending=False).reset_index(drop=True)
paomo

настоятельно рекомендуется:Ресторан Guoyuanzhai Laomijia Paobao (главный магазин Huifang)

Струны ?

Когда вы приедете на север, вы должны съесть шашлык?, верно?

kaochuan = df1[df1["中文名"].str.contains("串")].sort_values("得分",ascending=False).reset_index(drop=True)
kaochuan

Всего в данных 32 магазина, посмотрите на топ-5:

Мы виделиБайжэнь Ван ЧуанчуаньсянОн занимает 3 магазина, так что это должен быть сетевой магазин Xi'an Chuanchuan, старомодный магазин Chuanchuan. Может стоит попробовать!

магазин барбекю

Всего кебабных ресторанов 57, давайте посмотрим на 10 лучших.

kaorou = df1[df1["中文名"].str.contains("烤肉")].sort_values("得分",ascending=False).reset_index(drop=True)

# 取出前10家店
fig = px.scatter(kaorou[:10],x="得分",y="均价",color="均价",size="均价",text="中文名")
fig.update_traces(textposition="top center")
fig.show()

Рекомендовать магазин:Жареное мясо Сяо Ян (магазин Mingde), общая оценка первая, цена очень доступная ?

магазин

Подсчитано количество нескольких различных магазинов в Сиане, и конкретные данные таковы:

shops = pd.DataFrame({
    "name":["面馆","biangbiang面","裤带面","馍","肉夹馍","泡馍","串串","烤肉","凉皮","清真"],
    "number":[116,11,10,87,36,38,32,57,19,42]
})

shops

c = (
    Pie()
    .add("", [list(z) for z in zip(shops["name"].tolist(), shops["number"].tolist())])
    .set_global_opts(title_opts=opts.TitleOpts(title="西安店铺"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}"))
)

c.render_notebook()

Облако рекомендуемых блюд

Наконец, давайте посмотрим, какие продукты рекомендуют туристы? Китайское название магазина и рекомендуемые блюда оформлены в виде карты-облака слов:

name_list = df1["中文名"].tolist()
recommand_list = df1[df1["推荐菜"] != "无"]["推荐菜"].tolist()
lst = name_list + recommand_list

# 分词过程
rec_jieba_list = []
for i in range(len(lst)):
  	# jieba分词
    seg_list = jieba.cut(str(lst[i]).strip(), cut_all=False)
    for each in list(seg_list):
        rec_jieba_list.append(each)

# 词频统计
rec_result = pd.value_counts(rec_jieba_list)[5::].to_frame().reset_index().rename(columns={"index":"词语",0:"次数"})

# 词云图
rec_words = [tuple(z) for z in zip(rec_result["词语"].tolist(), rec_result["次数"].tolist())]

c = (
    WordCloud()
    .add("", rec_words, word_size_range=[20, 80], shape=SymbolType.DIAMOND)
    .set_global_opts(title_opts=opts.TitleOpts(title="西安美食推荐菜词云"))
)

c.render_notebook()

Возьмите первые 50 слов и посмотрите на эффект:

# 取出前100个词语

rec_words = [tuple(z) for z in zip(rec_result["词语"].tolist(), rec_result["次数"].tolist())]

c = (
    WordCloud()
    .add("", rec_words[:50], word_size_range=[20, 80], shape=SymbolType.DIAMOND)
    .set_global_opts(title_opts=opts.TitleOpts(title="西安美食推荐菜词云图"))
)

c.render_notebook()

Из карты облака слов мы также можем увидеть особенности питания и диеты сианьцев в провинции Шэньси:В основном макароны.

Мы можем сравнить карту облаков слов кухни Чэнду и найти, чтоЛюди Чэнду - все виды мяса, ингредиенты для горячих горшков

Суммировать

Анализируя данные о продуктах питания в Сиане, мы рекомендуем несколько магазинов:

  1. Запеченный глютен:Секрет брата Сяовэя: жареный глютен с орехами
  2. лапша биангбианг:Лапша biangbiang тети Чжэн (Южный филиал)
  3. Liangpi: Weijia Liangpi, множество сетевых магазинов в Сиане.
  4. Roujiamo: соус Fanjia с беконом Roujiamo (магазин Xiwu Road Store)
  5. Чуанчуань: Байжэнь Ван Чуанчуаньсян

Юэр Коттедж, уютный коттедж. Хозяин хижины, стремится выжить одной рукой кода, а одной рукой наслаждается жизнью, добро пожаловать в гости?