You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Folium与GeoPandas展示格鲁吉亚区域访客数据的问题

格鲁吉亚区域访客数据地图可视化问题解决

问题原因

  • 使用的naturalearth_lowres是全球国家级地理数据集,仅包含格鲁吉亚整体的边界信息,没有内部区域(如Kakheti、Imereti)的细分边界,因此无法渲染区域级色块。
  • 代码中key_on='feature.properties.name'指定匹配国家名称,和你的区域访客数据维度不匹配,无法建立区域数据与地理边界的关联。

改进方案

1. 获取格鲁吉亚区域级地理数据

需要下载包含格鲁吉亚各州/区域边界的GeoJSON或Shapefile,可从格鲁吉亚官方统计机构或公开地理数据平台获取(确保数据中的区域名称和你处理后的Regions列名称完全匹配,注意大小写、空格、缩写等细节,比如Adjara A/R需对应地理数据中的同名字段)。

2. 修改可视化代码

以下是调整后的完整代码示例(假设已获取名为georgia_regions.geojson的区域地理文件):

import pandas as pd
import folium
import geopandas

# 1. 复用原有数据处理逻辑
data = pd.read_excel("https://geostat.ge/media/52189/visits-by-visited-region.xlsx", skiprows=[0])
data.drop(["Year", "Quarter", "Total", "Other regions"], axis=1, inplace=True)
data.columns.name = 'Regions'
data = pd.melt(data, value_name='Visitors')
data = data[data["Regions"].str.contains("Country") == False]
data.dropna(axis=0, inplace=True)
data = data.groupby(["Regions"])['Visitors'].sum().reset_index()

# 2. 读取格鲁吉亚区域级地理数据
georgia_regions = geopandas.read_file("georgia_regions.geojson")
# 确保区域名称匹配,此处假设地理数据中区域字段名为'name',需根据实际调整
merged_data = georgia_regions.merge(data, how="left", left_on=['name'], right_on=['Regions'])
merged_data.dropna(axis=0, inplace=True)

# 3. 创建区域级Choropleth地图
# 设置地图中心为格鲁吉亚大致坐标
m = folium.Map(location=[42.3154, 43.3569], zoom_start=7)

folium.Choropleth(
    geo_data=merged_data,
    name='choropleth',
    data=merged_data,
    columns=['Regions', 'Visitors'],
    # 此处key_on需匹配地理数据中的区域名称字段,比如feature.properties.name
    key_on='feature.properties.name',
    fill_color='OrRd',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='Visitors per Region'
).add_to(m)

# 添加图层控制器
folium.LayerControl().add_to(m)

m.save('georgia_region_visitors.html')

关键注意事项

  • 务必确保地理数据中的区域名称和你处理后的Regions列完全一致,若存在名称差异,需提前做字符串清洗(如去除空格、统一缩写、调整大小写)。
  • 如果找不到官方GeoJSON,可以尝试从OpenStreetMap相关工具导出格鲁吉亚的区域边界数据。

内容的提问来源于stack exchange,提问作者data science

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 06:37:23