การแมปหมวดหมู่ใหม่
เพื่อทำความเข้าใจผู้ตอบแบบสำรวจใน airlines ให้ดียิ่งขึ้น คุณต้องการตรวจสอบว่ามีความสัมพันธ์ระหว่างคำตอบบางอย่างกับวันในสัปดาห์และเวลารอที่ประตูขึ้นเครื่องหรือไม่
DataFrame airlines มีคอลัมน์ day และ wait_min ซึ่งเป็นข้อมูลประเภท categorical และ numerical ตามลำดับ คอลัมน์ day บันทึกวันที่เที่ยวบินออกเดินทาง ส่วน wait_min บันทึกจำนวนนาทีที่ผู้โดยสารรอที่ประตูขึ้นเครื่อง เพื่อให้การวิเคราะห์ทำได้ง่ายขึ้น จะสร้างตัวแปร categorical ใหม่ 2 ตัว ดังนี้
wait_type:'short'สำหรับ 0-60 นาที,'medium'สำหรับ 60-180 นาที และlongสำหรับ 180 นาทีขึ้นไปday_week:'weekday'หากวันนั้นเป็นวันทำการ,'weekend'หากเป็นวันหยุดสุดสัปดาห์
ได้นำเข้าแพ็กเกจ pandas และ numpy เป็น pd และ np แล้ว มาสร้างข้อมูล categorical ใหม่กันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลใน Python
คำแนะนำการฝึกหัด
- สร้างช่วงและป้ายกำกับสำหรับคอลัมน์
wait_typeตามที่ระบุไว้ในคำอธิบาย - สร้างคอลัมน์
wait_typeจากwait_minโดยใช้pd.cut()พร้อมระบุlabel_rangesและlabel_namesในอาร์กิวเมนต์ที่ถูกต้อง - สร้าง dictionary ชื่อ
mappingเพื่อแมปวันทำการไปยัง'weekday'และวันหยุดสุดสัปดาห์ไปยัง'weekend' - สร้างคอลัมน์
day_weekโดยใช้.replace()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create ranges for categories
label_ranges = [0, 60, ____, np.inf]
label_names = ['short', ____, ____]
# Create wait_type column
airlines['wait_type'] = pd.____(____, bins = ____,
labels = ____)
# Create mappings and replace
mappings = {'Monday':'weekday', 'Tuesday':'____', 'Wednesday': '____',
'Thursday': '____', '____': '____',
'Saturday': 'weekend', '____': '____'}
airlines['day_week'] = airlines['day'].____(mappings)