การดึงรูปแบบจากข้อความ
คอลัมน์ Length ในชุดข้อมูล hiking เป็นคอลัมน์ที่เก็บข้อความ แต่ภายในนั้นมีข้อมูลระยะทางของเส้นทางเดินป่าซ่อนอยู่ เราจะดึงระยะทางนี้ออกมาโดยใช้ regular expressions แล้วนำ lambda มาใช้ใน pandas เพื่อประมวลผลทั้ง DataFrame
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python
คำแนะนำการฝึกหัด
- ค้นหาตัวเลขและจุดทศนิยมในอาร์กิวเมนต์
lengthโดยใช้ pattern ที่เหมาะสม - ดึงรูปแบบที่ตรงกันออกมา แล้วแปลงเป็น float
- นำฟังก์ชัน
return_mileage()ไปใช้กับแต่ละแถวในคอลัมน์hiking["Length"]
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Write a pattern to extract numbers and decimals
def return_mileage(length):
# Search the text for matches
mile = re.____(____, ____)
# If a value is returned, use group(0) to return the found value
if mile is not None:
return float(____)
# Apply the function to the Length column and take a look at both columns
hiking["Length_num"] = ____.apply(____)
print(hiking[["Length", "Length_num"]].head())