Geodataframe.explore() error: __init__() missing 1 required positional argument: 'location'
Geodataframe.explore() error: __init__() missing 1 required positional argument: 'location'
我正在尝试使用 Geopandas 及其在 Colab 中的 explore() 方法绘制交互式地图。
然而,当我写:
my_geodataframe.explore()
出现以下错误:
TypeError Traceback (most recent call last)
<ipython-input-11-e71fb33b059f> in <module>()
----> 1 mapa_interactivo = mapa1.explore()
1 frames
/usr/local/lib/python3.7/dist-packages/geopandas/explore.py in _explore(df, column, cmap, color, m, tiles, attr, tooltip, popup, highlight, categorical, legend, scheme, k, vmin, vmax, width, height, categories, classification_kwds, control_scale, marker_type, marker_kwds, style_kwds, highlight_kwds, missing_kwds, tooltip_kwds, popup_kwds, legend_kwds, **kwargs)
511 marker_kwds["radius"] = marker_kwds.get("radius", 2)
512 marker_kwds["fill"] = marker_kwds.get("fill", True)
--> 513 marker = folium.CircleMarker(**marker_kwds)
514 else:
515 raise ValueError(
TypeError: __init__() missing 1 required positional argument: 'location'
我明确写下位置:
my_geodataframe.explore(location=[40.463667, -3.74922])
但错误依旧。
我正在制作显示西班牙各省失业率的地图。可以从以下来源下载地理数据:
http://centrodedescargas.cnig.es/CentroDescargas/buscar.do?filtro.codFamilia=LILIM&filtro.codCA=11#
而各省的失业率数据可以从这个下载:
https://www.ine.es/jaxiT3/Datos.htm?t=3996
将信息合并到一个唯一的地理数据框中后,我得到如下信息:
Provincia
Codigo
Tasa_Paro
geometry
València/Valencia
46
14.75
MULTIPOLYGON (((-1.20715 40.00183, -1.21662 40...
Toledo
45
16.77
POLYGON ((-5.40611 39.87773, -5.40618 39.87884...
Teruel
44
10.60
POLYGON ((0.14136 40.71821, 0.12382 40.72081, ...
Tarragona
43
15.51
MULTIPOLYGON (((0.70759 40.63522, 0.70732 40.6...
Soria
42
9.73
POLYGON ((-1.99369 41.57709, -1.99311 41.57646...
我已经能够毫无问题地绘制静态等值线图:
你可以在下面找到我用来绘制它的代码link:
如上所述,问题在于尝试绘制交互式地图。
有什么建议吗?
geopandas.GeoDataFrame.explore
的第一个位置参数是 column
:
column: str, np.array, pd.Series (default None)
The name of the dataframe column, numpy.array, or pandas.Series to be plotted. If numpy.array or pandas.Series are used then it must have same length as dataframe.
如果您要绘制包含多个列的数据框,请务必提供您想要探索的列的名称,如:
my_geodataframe.explore('Tasa_Paro')
上面的代码是正确的。问题是您使用的是旧的、不受支持的 folium 版本。 GeoPandas explore
设计用于 folium 0.12 及更新版本,您需要更新。
我正在尝试使用 Geopandas 及其在 Colab 中的 explore() 方法绘制交互式地图。
然而,当我写:
my_geodataframe.explore()
出现以下错误:
TypeError Traceback (most recent call last)
<ipython-input-11-e71fb33b059f> in <module>()
----> 1 mapa_interactivo = mapa1.explore()
1 frames
/usr/local/lib/python3.7/dist-packages/geopandas/explore.py in _explore(df, column, cmap, color, m, tiles, attr, tooltip, popup, highlight, categorical, legend, scheme, k, vmin, vmax, width, height, categories, classification_kwds, control_scale, marker_type, marker_kwds, style_kwds, highlight_kwds, missing_kwds, tooltip_kwds, popup_kwds, legend_kwds, **kwargs)
511 marker_kwds["radius"] = marker_kwds.get("radius", 2)
512 marker_kwds["fill"] = marker_kwds.get("fill", True)
--> 513 marker = folium.CircleMarker(**marker_kwds)
514 else:
515 raise ValueError(
TypeError: __init__() missing 1 required positional argument: 'location'
我明确写下位置:
my_geodataframe.explore(location=[40.463667, -3.74922])
但错误依旧。
我正在制作显示西班牙各省失业率的地图。可以从以下来源下载地理数据:
http://centrodedescargas.cnig.es/CentroDescargas/buscar.do?filtro.codFamilia=LILIM&filtro.codCA=11#
而各省的失业率数据可以从这个下载:
https://www.ine.es/jaxiT3/Datos.htm?t=3996
将信息合并到一个唯一的地理数据框中后,我得到如下信息:
Provincia | Codigo | Tasa_Paro | geometry |
---|---|---|---|
València/Valencia | 46 | 14.75 | MULTIPOLYGON (((-1.20715 40.00183, -1.21662 40... |
Toledo | 45 | 16.77 | POLYGON ((-5.40611 39.87773, -5.40618 39.87884... |
Teruel | 44 | 10.60 | POLYGON ((0.14136 40.71821, 0.12382 40.72081, ... |
Tarragona | 43 | 15.51 | MULTIPOLYGON (((0.70759 40.63522, 0.70732 40.6... |
Soria | 42 | 9.73 | POLYGON ((-1.99369 41.57709, -1.99311 41.57646... |
我已经能够毫无问题地绘制静态等值线图:
你可以在下面找到我用来绘制它的代码link:
如上所述,问题在于尝试绘制交互式地图。
有什么建议吗?
geopandas.GeoDataFrame.explore
的第一个位置参数是 column
:
column: str, np.array, pd.Series (default None)
The name of the dataframe column, numpy.array, or pandas.Series to be plotted. If numpy.array or pandas.Series are used then it must have same length as dataframe.
如果您要绘制包含多个列的数据框,请务必提供您想要探索的列的名称,如:
my_geodataframe.explore('Tasa_Paro')
上面的代码是正确的。问题是您使用的是旧的、不受支持的 folium 版本。 GeoPandas explore
设计用于 folium 0.12 及更新版本,您需要更新。