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

    停车场.png

    1. dizhi = df["停车场名称"]
    2. tccdz = dizhi.to_list()
    3. for i in tccdz:
    4. print(i)
    1. import requests
    2. def geolocation(address):
    3. url="https://restapi.amap.com/v3/geocode/geo?parameters"
    4. params={
    5. "key":"14dc3151f80e56462d23f40d60cfa779",
    6. "address":address,
    7. "city":"深圳"
    8. }
    9. r=requests.get(url,params=params)
    10. return r.json()
    1. import time
    2. import pprint
    3. from random import random
    4. 区域=list()
    5. 经纬度=list()
    6. for i in tccdz:
    7. #time.sleep(3+8*random())
    8. geocode=geolocation(i)
    9. #pprint.pprint(geocode["geocodes"])
    10. if geocode["geocodes"] == []:
    11. 经纬度.append("请求经纬度失败")
    12. 区域.append("转换为区域失败")
    13. elif geocode["geocodes"][0]["district"] ==[]:
    14. 区域.append("转换为区域失败")
    15. elif geocode["geocodes"][0]["location"] ==[]:
    16. print("经纬度为空")
    17. 经纬度.append("请求经纬度失败")
    18. #pprint.pprint(geocode)
    19. # if geocode[0]==" ":
    20. # print("无法转为经纬度")
    21. else:
    22. #print(geocode["geocodes"][0]["location"])
    23. 经纬度.append(geocode["geocodes"][0]["location"])
    24. 区域.append(geocode["geocodes"][0]["district"])
    25. # #print(geocode)
    26. print(区域)
    27. 经纬度
    1. loc = 经纬度
    2. loc=pd.DataFrame(loc)
    3. 经纬度 = loc[0].str.split(',',expand=True)
    4. 经纬度
    1. # 展示深圳市景点停车场分布概况地图
    2. import plotly.graph_objects as go
    3. mapbox_access_token = 'pk.eyJ1IjoiYmxhY2tzaGVlcHdhbGwwMzA1IiwiYSI6ImNrMHo5ZnQxYjBjbG8zbm84b3hrb25vb24ifQ.k8toDjJDsPcjdYFTSVgTsv'
    4. fig = go.Figure(go.Scattermapbox(
    5. lon = 经纬度[0],
    6. lat = 经纬度[1],
    7. mode='markers',
    8. hovertext = df[['停车场名称','停车场地址']],
    9. marker=go.scattermapbox.Marker(
    10. size=7
    11. ),
    12. text=df[['停车场名称','停车场地址']],
    13. ))
    14. fig.update_layout(mapbox_style="open-street-map")
    15. fig.update_layout(
    16. title='深圳市停车场分布散点图',
    17. hovermode='closest',
    18. mapbox=dict(
    19. accesstoken=mapbox_access_token,
    20. bearing=0,
    21. center=go.layout.mapbox.Center(
    22. lat=22.564583,
    23. lon=113.900279
    24. ),
    25. pitch=0,
    26. zoom=8
    27. )
    28. )
    29. fig.show()
    30. py.plot(fig,filename='停车场地址.html')

    停车场散点图.png

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

    停车场数据.png

    1. import plotly.graph_objects as go
    2. import pandas as pd
    1. # 展示深圳市各区域的景点停车场数量气泡图
    2. import plotly.express as px
    3. df = pd.read_excel ("不同区域停车场数量.xlsx", encoding = "utf8", sep="\t")
    4. fig = px.scatter_mapbox(df,
    5. lon = 'lon',
    6. lat = 'lat',
    7. size = '数量',
    8. color = '数量',
    9. hover_name = '区域',
    10. size_max = 40,
    11. color_continuous_scale=px.colors.carto.Temps)
    12. fig.update_layout(mapbox_style="open-street-map")
    13. 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})

    停车场气泡.png
    区域停车场数量气泡地图.html停车场地图.html

    由于停车场信息过少,仅能分析各区域数量

    以下为柱状图展示代码

    1. import pandas as pd
    2. import plotly.graph_objs as go
    3. import numpy as np
    4. import json
    1. df = pd.read_excel ("不同区域停车场数量.xlsx", encoding = "utf8", sep="\t")
    2. df

    深圳市景点停车场数据.png

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

    景点停车场柱图.png
    不同区域停车场数量条形图.html