import datetimeimport numpy as npimport pandas as pd
df = pd.read_excel ("深圳市景点停车场信息.xlsx", encoding = "utf8", sep="\t")df

dizhi = df["停车场名称"]tccdz = dizhi.to_list()for i in tccdz: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 timeimport pprintfrom random import random区域=list()经纬度=list()for i in tccdz:#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(区域)经纬度
loc = 经纬度loc=pd.DataFrame(loc)经纬度 = loc[0].str.split(',',expand=True)经纬度
# 展示深圳市景点停车场分布概况地图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.564583,lon=113.900279),pitch=0,zoom=8))fig.show()py.plot(fig,filename='停车场地址.html')

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

import plotly.graph_objects as goimport pandas as pd
# 展示深圳市各区域的景点停车场数量气泡图import plotly.express as pxdf = pd.read_excel ("不同区域停车场数量.xlsx", encoding = "utf8", sep="\t")fig = px.scatter_mapbox(df,lon = 'lon',lat = 'lat',size = '数量',color = '数量',hover_name = '区域',size_max = 40,color_continuous_scale=px.colors.carto.Temps)fig.update_layout(mapbox_style="open-street-map")fig.update_layout(mapbox = {'accesstoken':'pk.eyJ1IjoiYmxhY2tzaGVlcHdhbGwwMzA1IiwiYSI6ImNrMHo5ZnQxYjBjbG8zbm84b3hrb25vb24ifQ.k8toDjJDsPcjdYFTSVgTsv','center':{'lon':113.884020,'lat':22.555259},'zoom':9.5},margin={'l':0,"r":0,"t":0,'b':0})
由于停车场信息过少,仅能分析各区域数量
以下为柱状图展示代码
import pandas as pdimport plotly.graph_objs as goimport numpy as npimport json
df = pd.read_excel ("不同区域停车场数量.xlsx", encoding = "utf8", sep="\t")df

bar1 = go.Bar(x = df['区域'],y = df['数量'],text = df['数量'],textposition='outside',name='不同区域停车场数量')fig = go.Figure(bar1)fig.update_layout(title = '不同区域停车场数量',xaxis_title = "区域",yaxis_title = "数量")fig.show()


