文章目录
大家好,我是 👉 【Python当打之年(点击跳转)】
本期将利用Python分析「武汉大众点评餐饮数据」 ,看看:各地址商家店铺数量、推荐商家、推荐菜品、店铺评价、评分占比分布、人均消费分布、餐饮类别等情况,希望对大家有所帮助,如有疑问或者需要改进的地方可以联系小编。
涉及到的库:
- Pandas — 数据处理
- Pyecharts — 数据可视化
🏳️🌈 1. 导入模块
import pandas as pd
from pyecharts.charts import *
from pyecharts import options as opts
import warnings
warnings.filterwarnings('ignore')
🏳️🌈 2. Pandas数据处理
2.1 读取数据
df = pd.read_excel('武汉餐饮.xlsx')
2.2 数据信息
df.info()
2.3 去除空数据
df = df.dropna()
2.4 数据去重
df = df.drop_duplicates()
2.5 评分、评价数、人均消费数据处理
df1['评分'] = df1['评分']/10
df1 = df1[df1['评价数'].str.contains('条')]
df1['评价数'] = df1['评价数'].str[:-3]
df1['评价数'] = df1['评价数'].astype('int')
df1 = df1[df1['人均消费'] != '']
df1['人均消费'] = df1['人均消费'].str[3:]
df1 = df1[df1['人均消费'] != '']
df1['人均消费'] = df1['人均消费'].astype('int')
🏳️🌈 3. Pyecharts数据可视化
3.1 各地址商家店铺数量矩形树图
3.2 推荐商家TOP10
def get_bar1():
bar = (
Bar()
.add_xaxis(x_data)
.add_yaxis('', y_data)
.reversal_axis()
.set_global_opts(
title_opts=opts.TitleOpts(
title='2-推荐商家TOP10',
subtitle=subtitle,
pos_top='2%',
pos_left='center',
title_textstyle_opts=opts.TextStyleOpts(color=lab_color, font_size=20)
)
)
)
- 海底捞火锅(19)、U你·湖北家宴菜(14)、茶港·点心·啫啫煲(10)、奈雪的茶(8)、仓桥家·焗寿司·锅物(8)、肥肥虾庄·金牌油焖大虾(8)、肖记公安牛肉鱼杂馆·省级非物质文化遗产(6)、福宝漠北·牛羊肉(6)、西贝(6)、湖锦酒楼(5)。
3.3 店铺评价数TOP10
- 夏氏砂锅(万松园店)(41655)、金马门国际美食百汇(珞喻路店)(27703)、家阳赵师傅油饼包烧麦(粮道街店)(25158)、小川洋风料理(江汉路店)分店(23625)、融厨湖北菜•非遗技艺•传承藕汤(江汉路一店)(22284)、巴犀烧烤(新崇光店)(21558)、靓靓蒸虾·头牌蒸虾(雪松路创始店)分店(121422)、小川洋风料理(街道口店)分店(21108)、秀玉coffee&kitchen(奥山世纪城店)分店(20974)、老宅藕香·湖北菜·非遗藕汤·武昌鱼(黄鹤楼景观店)(120237)。
3.4 推荐菜品TOP10
def get_bar2():
chart = (
Bar()
.add_xaxis(x_data)
.add_yaxis('', y_data)
.set_global_opts(
title_opts=opts.TitleOpts(
title='4-推荐菜品TOP10',
subtitle=subtitle,
pos_top='2%',
pos_left='center',
title_textstyle_opts=opts.TextStyleOpts(color=lab_color, font_size=20)
),
legend_opts=opts.LegendOpts(is_show=False)
)
)
- 油焖大虾、招牌虾滑、芝士焗红薯、番茄锅底、干煸藕丝、麻辣牛肉、凉面、鱼香肉丝、鼎汤农场时蔬、凉面
3.5 推荐菜词云
3.6 评分占比
def get_bar():
chart = (
Pie()
.add('',
datas,
center=['50%', '55%'],
label_opts=opts.LabelOpts(formatter='{b}: {c} ({d}%)')
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='6-平分占比',
subtitle=subtitle,
pos_top='2%',
pos_left='center',
title_textstyle_opts=opts.TextStyleOpts(color=lab_color, font_size=20)
),
) )
- 评分基本上都在4.0以上,5.0评分的占比约10%。
3.7 人均消费分布
def get_scatter1():
scatter1 = (
Scatter()
.add_xaxis(x_data)
.add_yaxis('', y_data,
)
.set_global_opts(
title_opts=opts.TitleOpts(
title='7-人均消费占比',
subtitle=subtitle,
pos_top='2%',
pos_left="center",
),
)
)
- 人均消费方面基本在100左右较多。
3.8 店铺数量最多地址TOP10
- 江汉路步行街(53家)、石牌岭(47家)、光谷(45家)、楚河汉街(35家)、西北湖(34家)、客运港(33家)、港澳台风情街(32家)、徐东大街(29家)、解放公园(26家)、万松园(22家)。
3.9 类别词云
🏳️🌈 4. 可视化大屏
4.1 普通大屏
4.2 Flask大屏
🏳️🌈 5. 可视化项目源码+数据
以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享(注明出处)让更多人知道。