我正在尝试在Folium中格式化GeoJsonTooltip,以将整数显示为货币(千位之间用逗号和'Kč'字符串分隔。)示例:
输入:1250000
想要的输出:1,250,000Kč
我无法在Python中通过字符串格式进行此操作,因为GeoJsonTooltip无法显示String工具提示并最终出现以下错误:
(TypeError:输入类型不支持ufunc'isnan',并且根据以下说明,无法将输入安全地强制为任何受支持的类型强制转换规则“安全”)
我还无法为该问题提出任何解决方案。创建地图的代码:
map_choropleth = folium.Map(location=[49.724,15.534],tiles='cartodbpositron', zoom_start=8, min_zoom=8, max_zoom=8, zoom_control=False)
choropleth = folium.Choropleth(geo_data = geojson_countries,
data = kraj_stats,
columns=['NAZEV_NUTS', 'cena_m2_mean'],
key_on='properties.NAZEV_NUTS',
fill_color='YlGn',
fill_opacity=0.7,
line_opacity=0.2,
legend_name='Cena za m2 v Kč'
).add_to(map_choropleth)
choropleth.geojson.add_child(folium.features.GeoJsonTooltip(
fields=['NAZEV_NUTS','cena_mean', 'cena_m2_mean'],
aliases=['Název kraje', 'Průměrná cena', 'Průměrná cena za m2'],
style=('background-color: grey; color: white;')
)
)
map_choropleth.save("mymap.html")
这是我目前拥有的:
有人可以帮忙吗?
我无法以CZK设置货币格式,但是我可以通过使用localize = True设置数字间距。
map_choropleth = folium.Map(location=[49.724,15.534],tiles='cartodbpositron', zoom_start=8, min_zoom=8, max_zoom=8, zoom_control=False)
choropleth = folium.Choropleth(geo_data = geojson_countries,
data = merged_areas,
columns=['NAZEV_LAU1', 'cena_m2_mean'],
key_on='properties.NAZEV_LAU1',
fill_color='YlGn',
fill_opacity=0.85,
line_opacity=0.2,
legend_name='Cena za m2 v Kč'
).add_to(map_choropleth)
choropleth.geojson.add_child(folium.features.GeoJsonTooltip(
fields=['NAZEV_LAU1','cena_mean', 'cena_m2_mean'],
aliases=['Název okresu', 'Průměrná cena [Kč]', 'Průměrná cena za m2 [Kč]'],
style=('background-color: grey; color: white;'),
localize=True
)
)
map_choropleth.save("mymap_okresy.html")