Restaurangerna i Paris som en GeoDataFrame
I den första kodövningen i det här kapitlet importerade vi platserna för restaurangerna i Paris från en csv-fil.
För att aktivera geospatial funktionalitet i GeoPandas vill vi konvertera pandas DataFrame till en GeoDataFrame. Det görs med konstruktorn GeoDataFrame() och funktionen geopandas.points_from_xy(), och det är redan gjort åt dig.
Nu när vi har en GeoDataFrame är all spatial funktionalitet tillgänglig, till exempel att rita ut geometrier. I den här övningen skapar vi samma figur som i den första övningen med restaurangdatasetet, men nu med GeoDataFramens plot()-metod.
Pandas har importerats som pd, GeoPandas som geopandas och matplotlibs pyplot-funktionalitet som plt.
Den här övningen är en del av kursen
Arbeta med geospatial data i Python
Övningsinstruktioner
- Undersök de första raderna i GeoDataFramen
restaurants. - Rita ut den med GeoDataFramens
plot()-metod. Returvärdet är ett matplotlib-axelobjekt – kalla detax. - Se även den här gången till att sätta markerstorleken till 1.
- Lägg till ett bakgrundskartelager med
contextily.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()