你知道海底捞在全国有多少家店吗? 您所在的位置:网站首页 华为手机连锁店全国有多少家店铺 你知道海底捞在全国有多少家店吗?

你知道海底捞在全国有多少家店吗?

2024-07-09 00:26| 来源: 网络整理| 查看: 265

来源:可以叫我才哥

前段时间小团建去吃了海底捞,最近又看新闻说海底捞要关闭300家店,300家店是什么概念呢?那让我们先来看看海底捞全国有多少家店吧!

e1d456c512dde0eb26e8117c2b4cf058.gif

海底捞

目录:

1. 数据采集

2. 地图绘制

2.1. 坐标转换

2.2. 地图绘制

3. 店面分布

35dc5995e2fc21efc362366c2cb4ef45.png

1. 数据采集

b7c99dc88ea055f434ea7b72388e30d5.png

直接打开海底捞官网,拖到首页最下面我们可以看到全球各国家与地区门店选择,点击中国即可进入到中国门店列表,在开发者模式找到源数据地址。

2d23dca6021d4c1fb0221f6d0909a681.png

可以看到请求到的数据格式很整洁,我们可以非常方便的处理,看代码:

import requests import pandas as pd # 接口地址 url = 'https://www.haidilao.com/eportal/store/listObjByPosition?country=CN&language=zh' # 请求头 headers = {     "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36",     "accept": "application/json, text/plain, */*"     } r = requests.get(url, headers=headers) # 门店数据信息 data = r.json() # 转化为DataFrame类型 df = pd.DataFrame(data['value']) # 存储本地 df.to_excel('海底捞.xlsx',index=False)

数据预览:

74cbecf400db34b95273bde3f98ae9f6.png

一共1404家门店

06f60a2c440a2c721ee499ad7ed7ea9e.png

2. 地图绘制

f3511a1cdbcdf48bd98d9dbfac6e058c.png

在采集到的数据中我们可以看到有经纬度坐标(百度地图),这里我的目标是将店地址绘制到地图上,采用的是folium绘图库。由于这个库没有百度地图,有高德地图,因此我需要先将经纬度坐标从百度转为高德,再进行地图绘制。

2.1. 坐标转换

在高迪开平找到坐标转换的接口,然后直接转换即可。

https://lbs.amap.com/api/webservice/guide/api/convert

c89d12d592a550a2f7c34ef8d91b3967.png # 用于存储转换后的坐标列表 ss1 = [] for i , location in enumerate(df[['longitude','latitude']].values):     location = str(location[0])+','+str(location[1])     url = 'https://restapi.amap.com/v3/assistant/coordinate/convert?'          parames = {         'locations':location,         'coordsys':'baidu',         'key':'你的key',         }          r = eval(requests.get(url, params=parames).json()['locations'])     ss = [r[1],r[0]]     ss1.append(ss)     print(f'\r{i+1}',end='')

输出结果:

3e1584bc74d2e420059d76a26cb3c0ca.png 2.2. 地图绘制

基于经纬度坐标点+店铺名称数据用于绘制,代码如下:

from folium import plugins import folium m = folium.Map([39.904989, 116.405285], # 北京中心区域经纬度     zoom_start=10,                 tiles='http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}', # 高德街道图                 # tiles='https://mt.google.com/vt/lyrs=h&x={x}&y={y}&z={z}', # google 地图                 # tiles='Stamen Toner',                attr='高德')   # 绘制店标记 groups = folium.FeatureGroup('') for l,label in zip(ss1,df['storeName'].to_list()):     groups.add_child(         folium.CircleMarker(             location=l,             radius=7,             color='yellow',             fill=True,             fill_color='red',             fill_opacity=0.4,             popup=folium.Popup(html=label,max_width=100),         )     ) m.add_child(groups) m.add_child(folium.LatLngPopup())   # 区域密度 marker_cluster = plugins.MarkerCluster().add_to(m)       for l,label in zip(ss1,df['storeName'].to_list()):     # 添加marker到地图     folium.Marker(         location = l,         icon=None,         # popup=folium.Popup(html=label,max_width=100),     ).add_to(marker_cluster) m.add_child(marker_cluster) m.save('海底捞.html')  # 将结果以HTML形式保存到本地

输出结果对比:

左侧是绘制的,右侧是官网的

6f25605d986b4956535bf4122cdcc8c5.png 对比

95bf9d681282275569289b45a7299401.png

3. 店面分布

60ad9ff516af728df7f9d5b1565e3e9f.png

同样的,在高德地图开放平台也有经纬度坐标转化位置信息的接口,我们通过店铺经纬度信息找到其所在省市(原始数据中地址信息格式不统一,比较难解析)。

citys = [] provinces = [] for i , location in enumerate(df[['longitude','latitude']].values):     location = str(location[0])+','+str(location[1])     url = 'https://restapi.amap.com/v3/geocode/regeo?'     params = {         'location':location,         'key':'4e3f878e4f74ad3b522d10830e54cfa2',         'extensions':'base',         'batch':'false',         'roadlevel':0,         }          r = requests.get(url, params=params)     data = r.json()['regeocode']     city = data['addressComponent']['city']     province = data['addressComponent']['province']     if len(city)==0:         city = province     citys.append(city)     provinces.append(province)     print(f'\r{i+1}',end='') df['城市'] = citys

获取城市信息后,就可以直接分组统计不同城市的海底捞店铺数了。

df.groupby('城市')['storeId'].nunique().sort_values(ascending=False).head(10) 城市店铺数上海市81北京市78深圳市52西安市52广州市47武汉市42郑州市41杭州市40成都市33南京市32

海底捞在全国242个城市有店面,其中在营店面数最多的城市是上海共81家店,其次是北京有78家店。

from pyecharts import options as opts from pyecharts.charts import Map from pyecharts.faker import Faker from pyecharts.globals import CurrentConfig, NotebookType CurrentConfig.NOTEBOOK_TYPE = NotebookType.JUPYTER_LAB df = pd.read_clipboard() c = (     Map()     .add("海底捞店面数", [list(z) for z in zip(df.省, df.数量)], "china")     .set_global_opts(         title_opts=opts.TitleOpts(title="海底捞全国各省店面数分布"),         visualmap_opts=opts.VisualMapOpts(max_=200),     ) ) c.load_javascript() c.render_notebook() bdee71e332be8b2f8da3d277d2a19e7d.png 省数量广东185江苏148浙江120上海81北京78山东78河南75陕西71湖北64福建59安徽55河北49四川48湖南44天津30江西27广西24辽宁22重庆22山西18云南16甘肃15内蒙古15吉林14海南11贵州11黑龙江10宁夏9青海5

也可以用Excel的EasyShu插件进行绘制,效果如下:

8d8b0b2ce7e86b5fb34a4aa4364240de.png

咱们今天就简单介绍到这里吧!

-------- End --------

54f733a056d87ee9c34e9c8a37bad252.png 精选资料

回复关键词,获取对应的资料:

关键词资料名称600《Python知识手册》md《Markdown速查表》time《Python时间使用指南》str《Python字符串速查表》pip《Python:Pip速查表》style《Pandas表格样式配置指南》mat《Matplotlib入门100个案例》px《Plotly Express可视化指南》 精选视频

可视化: Plotly Express

财经: Plotly在投资领域的应用 | 绘制K线图表

排序算法: 冒泡排序 | 选择排序 | 快速排序 | 归并排序 | 堆排序 | 插入排序 | 希尔排序 | 计数排序 | 桶排序

b882169bcdd147ec016d329ffa37cfd8.png


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有