J'ai une géodonnées avec des points et des données associées. Je veux le tracer sur une carte à l'aide de géopandas et faire correspondre la taille des points à l'une des colonnes du cadre de géodonnées.
Jusqu'à présent, j'ai le code suivant:
base = world.plot(color='white', figsize=(20,10))
geo_df.plot(ax=base, marker='.', color='red', markersize =
geo_df['Pop_2005'])
plt.xlim([-85, -60])
plt.ylim([-5, 12.5]);
Mais j'obtiens l'erreur suivante: TypeError: cannot convert the series to <class 'float'>
Des idées?
python
geopandas
matplotlib
pandas
Juan Francisco Saldarriaga
la source
la source
Pop_2005
explicitement en un flottant ou un entier?geo_df['Pop_2005'] = geo_df['Pop_2005'].astype(float)
Réponses:
Dans les géopandas> = 0,3 (publié en septembre 2017), le tracé des points est basé sur la
scatter
méthode de tracé de matplotlib sous le capot, ce qui accepte une taille de marqueur variable.Alors maintenant, vous pouvez réellement passer une colonne à
markersize
ce que l'OP a fait dans la question d'origine:donne:
Bien sûr, si votre objectif est simplement de changer la taille du marqueur en une valeur constante différente, vous pouvez toujours passer un seul flottant au mot clé:
la source