Các nhà hàng ở Paris dưới dạng GeoDataFrame
Trong bài tập mã hóa đầu tiên của chương này, chúng ta đã nhập vị trí các nhà hàng ở Paris từ một tệp csv.
Để kích hoạt các chức năng không gian địa lý của GeoPandas, chúng ta muốn chuyển đổi pandas DataFrame thành GeoDataFrame. Việc này có thể thực hiện bằng hàm tạo GeoDataFrame() và hàm geopandas.points_from_xy(), và đã được làm sẵn cho bạn.
Bây giờ khi đã có một GeoDataFrame, toàn bộ chức năng không gian đều khả dụng, như vẽ các hình học. Trong bài tập này, chúng ta sẽ tạo lại hình giống như ở bài tập đầu tiên với bộ dữ liệu nhà hàng, nhưng lần này dùng phương thức plot() của GeoDataFrame.
Pandas đã được nhập là pd, GeoPandas là geopandas và pyplot của matplotlib là plt.
Bài tập này là một phần của khóa học
Làm việc với Dữ liệu Không gian địa lý trong Python
Hướng dẫn bài tập
- Kiểm tra vài dòng đầu của GeoDataFrame
restaurants. - Vẽ nó bằng phương thức
plot()của GeoDataFrame. Giá trị trả về là một đối tượng axes của matplotlib: đặt tên làax. - Một lần nữa, nhớ đặt kích thước marker bằng 1.
- Thêm một lớp bản đồ nền bằng
contextily.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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()