การดึงตัวเลขออกจากสตริง
ฟิลด์ length_of_time ในชุดข้อมูล UFO เป็นฟิลด์ข้อความที่มีจำนวนนาทีอยู่ภายในสตริง ในแบบฝึกหัดนี้ จะใช้นิพจน์ทั่วไป (regular expressions) เพื่อดึงตัวเลขนั้นออกมาจากฟิลด์ข้อความ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเตรียมข้อมูลสำหรับ Machine Learning ด้วย Python
คำแนะนำการฝึกหัด
- ค้นหาตัวเลขใน
time_stringโดยใช้รูปแบบ RegEx ที่เหมาะสม - ใช้เมธอด
.apply()เพื่อเรียกreturn_minutes()กับทุกแถวในคอลัมน์length_of_time - แสดงผล
.head()ของทั้งคอลัมน์length_of_timeและminutesเพื่อเปรียบเทียบผลลัพธ์
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def return_minutes(time_string):
# Search for numbers in time_string
num = re.____(____, ____)
if num is not None:
return int(num.group(0))
# Apply the extraction to the length_of_time column
ufo["minutes"] = ufo["length_of_time"].____
# Take a look at the head of both of the columns
print(ufo[[____]].head())