利用python画地区热力图

mport requests
import json
import re
import numpy as np
import pandas as pd

#做数据预处理,将数据调整为xx省xx市xx
df=pd.read_excel('嘉定.xlsx')
place=df['设备描述']
place1=[]
for i in place:
    place1.append('上海市嘉定区安亭镇'+i)

#利用百度api获取地区的经纬度
AK = 'PmbFA5jwHSpwMRkumX6CpAtUWGqusswc'
jingdu=[]
weidu=[]
zhi=[]
for address in place1:
    url = 'http://api.map.baidu.com/geocoding/v3/?address={}&output=json&ak={}&callback=showLocation'.format(address,AK)
    res = requests.get(url)
    print(res.text)
    results = json.loads(re.findall(r'\((.*?)\)',res.text)[0])
    print('\n')
    jingdu.append(results['result']['location']['lng'])
    weidu.append(results['result']['location']['lat'])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
地区省销售热力,你需要使用 Python 库中的地库和数据可视化库。其中,地库可以选择 basemap 或者 folium,数据可视化库可以选择 seaborn 和 matplotlib。以下是一个示例代码: ```python import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import folium from folium.plugins import HeatMap # 读取销售数据 sales_data = pd.read_csv("sales_data.csv") # 计算每个省份的销售总额 province_sales = sales_data.groupby('province')['sales'].sum().reset_index() # 读取中国地shp文件 china_map = 'CHN_adm1.shp' # 用basemap绘制地 from mpl_toolkits.basemap import Basemap fig, ax = plt.subplots(figsize=(10,20)) m = Basemap(projection='lcc',lat_0=33,lon_0=110,width=8E6,height=8E6,resolution='l') m.drawcoastlines(color='gray') m.drawcountries(color='gray') m.readshapefile(china_map,'states',drawbounds=True) # 将各省份销售总额数据合并到地数据 merged_data = pd.DataFrame({ 'names': [d['NL_NAME_1'] for d in m.states_info], 'sales': province_sales['sales'] }) merged_data.set_index('names', inplace=True) # 用seaborn绘制热力 sns.set_style("white") plt.figure(figsize=(12, 8)) sns.heatmap(merged_data, cmap='YlGnBu') # 用folium绘制热力 m = folium.Map(location=[35, 105], zoom_start=5, tiles='Stamen Terrain') HeatMap(province_sales).add_to(m) m.save('sales_heatmap.html') ``` 在这个示例代码中,我们使用了 basemap 库和 folium 库来绘制地,使用了 seaborn 库和 matplotlib 库来绘制热力。你需要根据自己的数据情况进行调整和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值