Pyecharts | 2019_2022年全国旅游酒店数据分析可视化

文章目录

  • ️‍ 1. 导入模块
  • ️‍ 2.Pandas数据处理
    • 2.1 读取数据
    • 2.2 数据处理
  • ️‍ 3. Pyecharts数据可视化
    • 3.1 第四季度全国星级饭店经营情况统计表
    • 3.2 2022年全国各地区酒店登记数量
    • 3.3 2019年全国各地区酒店登记数量
    • 3.4 2019_2022_营业收入(亿元)
    • 3.5 2019_2022_平均房价(元/间夜)
    • 3.6 2022年全国50个重点旅游城市星级饭店数量
  • ️‍ 4. 可视化项目源码+数据

大家好,我是 【Python当打之年(点击跳转)】

本期利用 python 的 pyecharts 和 matplotlib 可视化库分析一下 疫情前(2019年)和疫情后(2022年)全国各旅游地区酒店登记情况,希望对大家有所帮助,如有疑问或者需要改进的地方可以私信小编。

涉及到的库:

  • Pandas — 数据处理
  • Pyecharts — 数据可视化
  • matplotlib — 数据可视化

️‍ 1. 导入模块

import pandas as pd
from pyecharts.charts import Line
from pyecharts.charts import Bar
from pyecharts.charts import Map
from pyecharts.charts import Grid
from pyecharts import options as opts
from pyecharts.commons.utils import JsCode
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
plt.style.use('ggplot')

import warnings
warnings.filterwarnings("ignore")

️‍ 2.Pandas数据处理

2.1 读取数据

df_2019_1 = pd.read_excel('./2019年第四季度全国星级饭店经营情况统计表(按地区分).xlsx', header=2)
df_2019_1.head(10)

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第1张图片

df_2022_1 = pd.read_excel('./2022年第四季度全国星级饭店经营情况统计表.xlsx', header=1)
df_2022_1.head(10)

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第2张图片

2.2 数据处理

df_2019_1 = df_2019_1[2:-1].reset_index(drop=True)
df_2022_1 = df_2022_1[2:-1].reset_index(drop=True)

cols = ['地区', '数量(家)', '营业收入(亿元)', '餐饮收入比重(%)', '客房收入比重(%)', '平均房价(元/间夜)',
        '平均出租率(%)', '每间可供出租客房收入(元/间夜)', '每间客房平摊营业收入(元/间)', '平均房价同比(%)',
        '平均出租率同比(%)', '每间可供出租客房收入同比(%)', '每间客房平摊营业收入同比(%)']
df_2019_1.columns = cols
df_2022_1.columns = cols

df_hotel = df_2019_1[['地区', '数量(家)']]
df_hotel.columns = ['地区', '2019_数量(家)']
df_hotel['2022_数量(家)'] = df_2022_1['数量(家)']
df_hotel = df_hotel.sort_values('2019_数量(家)')
df_hotel['2019_数量(家)'] = df_hotel['2019_数量(家)']

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第3张图片

️‍ 3. Pyecharts数据可视化

3.1 第四季度全国星级饭店经营情况统计表

def get_bar1(df_hotel):
    bar = (
        Bar()
        .add_xaxis(df_hotel['地区'].values.tolist())
        .add_yaxis('2019年全国各地区酒店数量', 
                       df_hotel['2019_数量(家)'].values.tolist(),
                       stack='1',            
                       tooltip_opts=opts.TooltipOpts(is_show=False)               
                       )
        .add_yaxis('2022年全国各地区酒店数量', 
                       df_hotel['2022_数量(家)'].values.tolist(),
                       stack='1',
                       tooltip_opts=opts.TooltipOpts(is_show=False),          
                       )
        .set_global_opts(
            tooltip_opts=opts.TooltipOpts(is_show=True, trigger='axis', axis_pointer_type='cross'),
            title_opts=opts.TitleOpts(
                title='2019_2022年全国各地区酒店数量(家)',pos_top='1%',pos_left='37%',title_textstyle_opts=opts.TextStyleOpts(font_size=20,color='#fff000')),
            legend_opts=opts.LegendOpts(is_show=True, pos_top='6%',pos_left='36%'),
            xaxis_opts=opts.AxisOpts(is_show=False, max_=500),
            yaxis_opts=opts.AxisOpts(
                axisline_opts=opts.AxisLineOpts(is_show=False),
                axislabel_opts=opts.LabelOpts(color='#00c6d7', font_size=12, font_weight='bold')),
            )
        ).reversal_axis()
	return bar

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第4张图片

3.2 2022年全国各地区酒店登记数量

def get_map1(df_hotel):
    map_2022 = (
        Map()
        .add('',
             [list(z) for z in zip(df_hotel['地区'].values.tolist(), df_hotel['2022_数量(家)'].values.tolist())],
             maptype='china',
             is_map_symbol_show=False,
          )
        .set_global_opts(
            visualmap_opts=opts.VisualMapOpts(
                is_show=True,
                is_piecewise=True,
                min_ = 0,
                max_ = 500,
                split_number = 5,
                series_index=0,
                pos_top='70%',
                pos_left='20%',
            ),
            title_opts=opts.TitleOpts(
            title='2022年全国各地区酒店登记数量(家)',
            pos_left='center',pos_top='3%',
            title_textstyle_opts=opts.TextStyleOpts(color='#fff200',font_size=20))
        )
    )
    return map_2022

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第5张图片

3.3 2019年全国各地区酒店登记数量

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第6张图片

3.4 2019_2022_营业收入(亿元)

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第7张图片

  • 酒店营业额方面基本上各个地区都出现下滑的情况,北上广等地收入缩水最为严重

3.5 2019_2022_平均房价(元/间夜)

Pyecharts | 2019_2022年全国旅游酒店数据分析可视化_第8张图片

  • 大部分地区酒店平均价格都出现了一定幅度的,上海、北京、新疆等地下调尤为明显
  • 海南、河北、西藏、内蒙古、宁夏等五地酒店平均价格出现上调的情况

3.6 2022年全国50个重点旅游城市星级饭店数量

def get_count_50(x_data,y_data1,y_data2,y_data3):
    b2 = (
        Bar(init_opts=opts.InitOpts(theme='purple-passion',width='500px', height='1400px',bg_color='#0d0735'))
        .add_xaxis(x_data)
        .add_yaxis("三星饭店数量", y_data1, stack="stack1",itemstyle_opts=opts.ItemStyleOpts(color='#00b2a9'))
        .add_yaxis("四星饭店数量",y_data2, stack="stack1",itemstyle_opts=opts.ItemStyleOpts(color='#203fb6'))
        .add_yaxis("五星饭店数量",y_data3, stack="stack1",itemstyle_opts=opts.ItemStyleOpts(color='#e7298a'))
        .set_global_opts(
            tooltip_opts=opts.TooltipOpts(is_show=True, trigger='axis', axis_pointer_type='cross'),
            title_opts=opts.TitleOpts(
                title='2022年全国50个重点旅游城市星级饭店数量(家)',
                pos_top='1%',
                pos_left='center',
                title_textstyle_opts=opts.TextStyleOpts(font_size=20,color='#fff000')),
        )
        .reversal_axis()
    )
    return b2

️‍ 4. 可视化项目源码+数据

点击跳转:【全部可视化项目源码+数据】


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

你可能感兴趣的:(Pyecharts系列,数据分析,旅游,python,信息可视化)