เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การทำ Spatial Join และนับจำนวนข้อมูล

ต่อจากขั้นตอนก่อนหน้า เราจะเตรียมชุดข้อมูลสำหรับสร้าง choropleth ด้วย geopandas โดยสร้าง GeoDataFrame ของใบอนุญาตก่อสร้างที่ผ่านการทำ spatial join กับเขตสภาแล้ว จากนั้นจึงนับจำนวนใบอนุญาตก่อสร้างที่ออกในแต่ละเขตสภา

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การแสดงผลข้อมูลเชิงภูมิศาสตร์ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้าง permits_geo จาก permits, council_districts.crs, และ geometry ใน permits
  • ทำ spatial join ระหว่าง permits_geo กับ council_districts เพื่อดึงใบอนุญาตก่อสร้างที่อยู่ within แต่ละเขตสภา แล้วเก็บผลลัพธ์ไว้ใน permits_by_district
  • นับจำนวนใบอนุญาตในแต่ละเขตเป็น permit_counts โดยใช้เมธอด groupby() และ size() ต่อกัน
  • สร้าง counts_df จาก permit_counts แล้ว reset index และตั้งชื่อคอลัมน์เป็น district และ bldg_permits

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Create permits_geo
permits_geo = gpd.GeoDataFrame(____, crs = ____.____, geometry = ____.____)

# Spatially join permits_geo and council_districts
permits_by_district = gpd.sjoin(____, ____, ____ = ____)
print(permits_by_district.head(2))

# Count permits in each district
permit_counts = permits_by_district.____(____).____()

# Convert permit_counts to a df with 2 columns: district and bldg_permits
counts_df = ____.to_frame()
counts_df = counts_df.____()
counts_df.____ = ['district', 'bldg_permits']
print(counts_df.head(2))
แก้ไขและรันโค้ด