Les restaurants parisiens sous forme de GeoDataFrame
Dans le premier exercice de code de ce chapitre, nous avons importé les emplacements des restaurants à Paris depuis un fichier csv.
Pour activer les fonctionnalités géospatiales de GeoPandas, nous voulons convertir le DataFrame pandas en GeoDataFrame. Cela peut se faire avec le constructeur GeoDataFrame() et la fonction geopandas.points_from_xy(), et c’est déjà fait pour vous.
Maintenant que nous avons un GeoDataFrame, toutes les fonctionnalités spatiales deviennent disponibles, comme la représentation des géométries. Dans cet exercice, nous allons créer la même figure que dans le premier exercice avec le jeu de données des restaurants, mais cette fois en utilisant la méthode plot() du GeoDataFrame.
Pandas a été importé sous le nom pd, GeoPandas sous geopandas et la fonctionnalité pyplot de matplotlib sous plt.
Cet exercice fait partie du cours
Travailler avec des données géospatiales en Python
Instructions
- Inspectez les premières lignes du GeoDataFrame
restaurants. - Tracez-le avec la méthode
plot()du GeoDataFrame. La valeur de retour est un objet axes de matplotlib : appelez-leax. - De nouveau, veillez à définir la taille du marqueur à 1.
- Ajoutez une couche de fond de carte avec
contextily.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Read the restaurants csv file into a DataFrame
df = pd.read_csv("paris_restaurants.csv")
# Convert it to a GeoDataFrame
restaurants = geopandas.GeoDataFrame(df, geometry=geopandas.points_from_xy(df.x, df.y))
# Inspect the first rows of the restaurants GeoDataFrame
print(restaurants.____)
# Make a plot of the restaurants
ax = restaurants.____
import contextily
contextily.____(____)
plt.show()