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

如何在GeoPandas explore的Folium标记内添加列对应数值

解决方法

你遇到的错误是因为直接将整个Series(gdfNORTE["Cantidad de veces visitado"])传给了BeautifyIcon的number参数,而该参数需要单个标量值,而非序列。要实现每行标记显示对应数值且不手动循环,可以利用GeoPandas explore方法支持按行生成图标的特性,通过lambda函数为每行创建自定义的BeautifyIcon。

修正后的代码如下:

import folium.plugins as plugins

gdfNORTE.explore(
    m=m,  
    marker_type='marker', 
    marker_kwds={
        'icon': lambda row: plugins.BeautifyIcon(
            icon="map-marker", 
            icon_shape="marker", 
            number=row["Cantidad de veces visitado"]
        )
    },
    tooltip=["CALLE","NUMERO","ACT ECON","DESCRIPCION","CANT_TRAB","TRAB", "Cantidad de veces visitado"],  
    tooltip_kwds=dict(labels=True),  
    name="Domicilios visitados",
    prefer_canvas=True,
)

关键说明:

  • 使用lambda row作为icon的值,GeoPandas会自动遍历GeoDataFrame的每一行,将当前行数据传入lambda函数。
  • 函数内部通过row["Cantidad de veces visitado"]获取当前行的访问次数数值,传递给BeautifyIcon的number参数,实现每个标记显示对应行的数值。
  • 这种方式无需手动编写循环,完全利用GeoPandas的内置逻辑完成批量图标生成。

内容的提问来源于stack exchange,提问作者Carlos Char

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:35:01