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

ย้อนเวลากลับสู่อนาคต

มีการอัปเดต data pipeline ที่ป้อนข้อมูลเข้าสู่ DataFrame ride_sharing เพื่อบันทึกวันที่ของการเดินทางแต่ละครั้ง โดยข้อมูลนี้เก็บอยู่ในคอลัมน์ ride_date ซึ่งมีชนิดข้อมูลเป็น object หรือ string ใน pandas

พบบั๊กที่ทำให้การเดินทางที่เกิดขึ้นในวันนี้ถูกบันทึกเป็นปีหน้าแทน เพื่อแก้ไขปัญหานี้ ให้ค้นหาทุกแถวในคอลัมน์ ride_date ที่มีวันที่อยู่ในอนาคต แล้วกำหนดค่าสูงสุดของคอลัมน์นี้ให้เป็นวันที่ปัจจุบัน ก่อนดำเนินการดังกล่าว จะต้องแปลง ride_date ให้เป็นออบเจ็กต์ datetime ก่อน

แพ็กเกจ datetime ถูก import ไว้แล้วในชื่อ dt พร้อมกับแพ็กเกจอื่นๆ ที่ใช้มาก่อนหน้านี้

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

การทำความสะอาดข้อมูลใน Python

ดูคอร์ส

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

  • แปลง ride_date ให้เป็นออบเจ็กต์ datetime โดยใช้ to_datetime() จากนั้นแปลงออบเจ็กต์ datetime ให้เป็น date แล้วเก็บผลลัพธ์ไว้ในคอลัมน์ ride_dt
  • สร้างตัวแปร today เพื่อเก็บวันที่ปัจจุบันโดยใช้ฟังก์ชัน dt.date.today()
  • สำหรับทุกแถวใน ride_dt ที่มีวันที่อยู่ในอนาคต ให้กำหนดค่าเป็นวันที่ปัจจุบัน
  • แสดงวันที่สูงสุดในคอลัมน์ ride_dt

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

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

# Convert ride_date to date
ride_sharing['ride_dt'] = pd.____(____['____']).dt.date

# Save today's date
today = ____

# Set all in the future to today's date
ride_sharing.____[____['____'] > ____, '____'] = ____

# Print maximum of ride_dt column
print(ride_sharing['ride_dt'].____())
แก้ไขและรันโค้ด