import datetimeimport numpy as npimport pandas as pd
df = pd.read_excel ("深圳市特色美食分类信息.xlsx", encoding = "utf8", sep="\t")df

dizhi = df["门店地址"]mendian = dizhi.to_list()for i in mendian: print(i)
import requestsdef geolocation(address): url="https://restapi.amap.com/v3/geocode/geo?parameters" params={ "key":"14dc3151f80e56462d23f40d60cfa779", "address":address, "city":"深圳" } r=requests.get(url,params=params) return r.json()
import time import pprintfrom random import random区域=list()经纬度=list()for i in mendian: #time.sleep(3+8*random()) geocode=geolocation(i) #pprint.pprint(geocode["geocodes"]) if geocode["geocodes"] == []: 经纬度.append("请求经纬度失败") 区域.append("转换为区域失败") elif geocode["geocodes"][0]["district"] ==[]: 区域.append("转换为区域失败") elif geocode["geocodes"][0]["location"] ==[]: print("经纬度为空") 经纬度.append("请求经纬度失败") #pprint.pprint(geocode)# if geocode[0]==" ":# print("无法转为经纬度") else: #print(geocode["geocodes"][0]["location"]) 经纬度.append(geocode["geocodes"][0]["location"]) 区域.append(geocode["geocodes"][0]["district"])# #print(geocode)print(区域)经纬度
经纬度 = df["经纬度"].str.split(',',expand=True)lon = 经纬度[0].to_list()lat = 经纬度[1].to_list()df['lon'] = londf['lat'] = latdf["美食所属区域"] = 区域df

# 展示深圳美食分布总览import plotly.graph_objects as gomapbox_access_token = 'pk.eyJ1IjoiYmxhY2tzaGVlcHdhbGwwMzA1IiwiYSI6ImNrMHo5ZnQxYjBjbG8zbm84b3hrb25vb24ifQ.k8toDjJDsPcjdYFTSVgTsv'fig = go.Figure(go.Scattermapbox( lon = 经纬度[0], lat = 经纬度[1], mode='markers', hovertext = df[['餐饮店名称','门店地址']], marker=go.scattermapbox.Marker( size=7 ), text=df[['餐饮店名称','门店地址']], ))fig.update_layout(mapbox_style="open-street-map")fig.update_layout( title='深圳市美食分布散点图', hovermode='closest', mapbox=dict( accesstoken=mapbox_access_token, bearing=0, center=go.layout.mapbox.Center( lat=22.538629, lon=113.993073 ), pitch=0, zoom=8 ))fig.show()py.plot(fig,filename='门店地图.html')

df = pd.read_excel ("不同区域美食数量.xlsx", encoding = "utf8", sep="\t")df

# 展示深圳各区美食分布import plotly.express as pximport plotly.offline as pymapbox_access_token = 'pk.eyJ1IjoiYmxhY2tzaGVlcHdhbGwwMzA1IiwiYSI6ImNrMHo5ZnQxYjBjbG8zbm84b3hrb25vb24ifQ.k8toDjJDsPcjdYFTSVgTsv'df = dffig = px.scatter_mapbox(df, lat="lat", lon="lon",color="区域", size="数量", color_continuous_scale=px.colors.cyclical.IceFire, size_max=35, zoom=10)fig.update_layout(mapbox_style="stamen-toner")py.plot(fig,filename='深圳市特色美食各区分布数量卫星气泡图.html')fig.show()

门店地图.html深圳市特色美食分布卫星气泡图.html