Folium弹出窗口获取语法错误消息

时间:2017-09-14 17:58:55

标签: python-3.x popup folium

我是folium的新手。我能够从数据框中生成我想要的地图。

df_map = folium.Map(location=[37.750999450684, -97.821998596191], zoom_start=4)   

for each in df[0:len(df)].iterrows(): 
    folium.CircleMarker(location=[each[1]["GEO_LAT_0"], each[1]["GEO_LNG_0"]],
                    radius=5.0, color='#3186cc', fill_color='#3186cc').add_to(df_map)

地图出来很好。

接下来我想在数据框中添加第三列的弹出窗口,似乎无法正确获取语法。不清楚我如何从folium文档中添加这些弹出窗口。错误消息我无法解释此代码的结果:

df_map = folium.Map(location=[37.750999450684, -97.821998596191], zoom_start=4)   

for each in df[0:len(df)].iterrows(): 
    folium.CircleMarker(location=[each[1]["GEO_LAT_0"], each[1]["GEO_LNG_0"]],
                    **popup=each[1]["GEO_CITY_0"],**
                    radius=5.0, color='#3186cc',fill_color='#3186cc').add_to(df_map)

为了验证我的循环和数据帧是否正常,我替换了

print each[1]["GEO_CITY_0"]

在for-each循环中而不是folium.circlemarker,它工作正常。当我使用上面的弹出语法时,出了点问题。

AttributeError: 'float' object has no attribute 'get_name' 

你的帮助表示赞赏。谢谢p.s.完整的信息是:

追踪(最近一次呼叫最后一次):

文件“”,第4行,in     radius = 1,color ='#3186cc',fill_color ='#3186cc')。add_to(df_map)

文件“C:\ Users \ Peter \ Anaconda3 \ lib \ site-packages \ folium \ features.py”,第870行, init     super(CircleMarker,self)。 init (location = location,popup = popup)

文件“C:\ Users \ Peter \ Anaconda3 \ lib \ site-packages \ folium \ map.py”,第652行, init     self.add_child(弹出)

文件“C:\ Users \ Peter \ Anaconda3 \ lib \ site-packages \ branca \ element.py”,第96行,在add_child中     name = child.get_name()

AttributeError:'float'对象没有属性'get_name'

1 个答案:

答案 0 :(得分:1)

我的印象是,@ pzajonc的popup=each[1]["GEO_CITY_0"]语法在最新版本(OP有0.4.0)的folium中有用。

这是一个github issue提到错误和fix

无论如何,将其更改为popup=folium.Popup(each[1]["GEO_CITY_0"])都可以解决问题。