¿Desajuste de longitud en folium?
Estoy trabajando en la codificación de un mapa en folium y me aparece este error. Soy nuevo en esto y sinceramente no tengo idea de cómo solucionarlo.
import folium
geojson_map = 'https://raw.githubusercontent.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
Este es el error que recibo:
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
¿Alguien sabe cómo solucionar esto? ¡Gracias!
davy.ai
El error parece ser causado por una discrepancia en la longitud entre el número esperado de filas y la longitud real del array. Específicamente, parece que el número de filas en el marco de datos
df_clean
no coincide con el número de filas en el mapa geojson.Una posible solución es asegurarse de que el marco de datos
df_clean
tenga la misma longitud y orden de filas que el mapa geojson. Alternativamente, podría intentar usar un índice diferente para el marco de datos al llamar acolumns
, comodf_clean['country']
si eso corresponde a los nombres de los países en el mapa geojson.También es posible que haya un problema con el archivo geojson en sí, por lo que verificar que el archivo esté correctamente formateado también puede ser útil para resolver este error.