De Parijse restaurants als GeoDataFrame
In de eerste codeoefening van dit hoofdstuk hebben we de locaties van de restaurants in Parijs uit een csv-bestand ingeladen.
Om de georuimtelijke functionaliteit van GeoPandas te kunnen gebruiken, willen we de pandas-DataFrame omzetten naar een GeoDataFrame. Dat kan met de GeoDataFrame()-constructor en de functie geopandas.points_from_xy(), en is al voor je gedaan.
Nu we een GeoDataFrame hebben, is alle ruimtelijke functionaliteit beschikbaar, zoals het plotten van de geometrieën. In deze oefening maken we dezelfde figuur als in de eerste oefening met de restaurants-gegevensset, maar nu met de plot()-methode van het GeoDataFrame.
Pandas is geïmporteerd als pd, GeoPandas als geopandas en de pyplot-functionaliteit van matplotlib als plt.
Deze oefening maakt deel uit van de cursus
Werken met georuimtelijke data in Python
Oefeninstructies
- Inspecteer de eerste rijen van het
restaurants-GeoDataFrame. - Plot het met de
plot()-methode van het GeoDataFrame. De returnwaarde is een matplotlib-axesobject: noem ditax. - Zorg er opnieuw voor dat de markergrootte gelijk is aan 1.
- Voeg een basemaplaag toe met
contextily.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()