Прежде всего, пожалуйста, используйте класс folium.Choropleth()
вместо метода choropleth()
, который устарел.
Например, для вашей проблемы:
m = folium.Map(location=[latitude,longitude], zoom_start=12)
folium.Choropleth(geo_data=sf_neighborhood_geo,
name='choropleth',
data=sf,
columns=['Neighborhood','Count'],
key_on='feature.properties.name',
fill_color='YlOrRd',
fill_opacity=0.7,
line_opacity=0.2,
legend_name='Crime Rate in San Francisco, by Neighborhood').add_to(m)
folium.LayerControl().add_to(m)
Сказав это, в вашем коде есть две проблемы:
- согласно файлу geo json,
key_on='name'
должно быть key_on='feature.properties.name'
- столбец
Neighborhood
в вашем DataFrame не содержит имен, содержащихся в файле geo json, поэтому вы, скорее всего, получите такую карту:
Чтобы получить значимую карту хороплета, имена в sf_neighborhood_geo
должны соответствовать значениям в sf['Neighborhood']
.