【发布时间】:2022-01-10 00:57:03
【问题描述】:
我正在编写一个 folium 地图,但我不断收到此错误。我是新手,老实说不知道如何解决这个问题。
import folium
geojson_map = 'https://raw.gituserhubcontent.com/dirkkoolmees/maps-import-export-of-fossil-fuels-/master/custom.geo.json'
world_map = folium.Map(location=[0,0], zoom_start = 1.5, tiles = 'CartoDB positron', min_zoom = 1, max_zoom = 6)
folium.Choropleth(
geo_data = geojson_map,
name = "chloropleth",
data = df_clean,
columns = [df.index, 'value'],
key_on= 'feature.properties.name_sort',
fill_color = 'Reds',
fill_opacity = 0.9,
line_opacity = 0.2,
legend_name = 'GDP'
).add_to(world_map)
world_map
这是我收到的错误:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-31-b88f980d229d> in <module>()
13 fill_color = 'Reds',
14 fill_opacity = 0.9,
---> 15 line_opacity = 0.2,
16 #legend_name = 'GDP'
17 ).add_to(world_map)
1 frames
/usr/local/lib/python3.7/dist-packages/pandas/core/frame.py in set_index(self, keys, drop, append, inplace, verify_integrity)
4597 # ensure_index_from_sequences would not raise for append=False.
4598 raise ValueError(
-> 4599 f"Length mismatch: Expected {len(self)} rows, "
4600 f"received array of length {len(arrays[-1])}"
4601 )
ValueError: Length mismatch: Expected 154 rows, received array of length 324
有人知道如何解决这个问题吗?谢谢!
【问题讨论】:
-
将两个调用分成两行
-
@MadPhysicist 我不肯定你的意思到底是什么。你能告诉我如何正确格式化吗?谢谢
-
将
folium.Choropleth(...).add_to(world_map)分离成c = folium.Choropleth(...); c.add_to(world_map) -
这不是同一个错误,因为它现在告诉你哪个部分实际上导致了错误
-
首先您可以使用
print()查看变量中的内容 - 以及数据的大小。即len(geojson_map)、len(df_clean)- 可能其中一个的大小为 154 和其他 324,这可能会产生问题。或者也许问题使df.index?
标签: python pandas folium choropleth