Pandas สร้าง DataFrame เพื่อประมวลผลข้อมูล บทความนี้จะแสดงวิธีเพิ่มคอลัมน์ใหม่เข้าไปใน DataFrame ที่มีอยู่แล้ว โดยคำนวณจากเงื่อนไขเฉพาะ
DataFrame ต้นฉบับ
DataFrame ที่มีข้อมูลวันสอบและวิชาสอบ:
ตัวอย่างโค้ด
import pandas as pd
Days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Sub = ['Chemistry', 'Physics', 'Maths', 'English', 'Biology']
Exam_Subjects = {'Exam Day': Days, 'Exam Subject': Sub}
Exam_Subjects_df = pd.DataFrame(Exam_Subjects)
print(Exam_Subjects_df)
ผลลัพธ์
Exam Day Exam Subject 0 Mon Chemistry 1 Tue Physics 2 Wed Maths 3 Thu English 4 Fri Biology
เพิ่มคอลัมน์ 'Time' ด้วยเงื่อนไข if-else
ใช้ List Comprehension ร่วมกับเงื่อนไข ternary operator เพื่อกำหนดเวลาสอบ: วันจันทร์และพฤหัสบดี = 2 PM, วันที่เหลือ = 10 AM
ตัวอย่างโค้ด
import pandas as pd
Days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Sub = ['Chemistry', 'Physics', 'Maths', 'English', 'Biology']
Exam_Subjects = {'Exam Day': Days, 'Exam Subject': Sub}
Exam_Subjects_df = pd.DataFrame(Exam_Subjects)
# เพิ่มคอลัมน์ Time ตามเงื่อนไข
Exam_Subjects_df['Time'] = ['2 PM' if x in ('Mon', 'Thu') else '10 AM' for x in Exam_Subjects_df['Exam Day']]
print(Exam_Subjects_df)
ผลลัพธ์
Exam Day Exam Subject Time 0 Mon Chemistry 2 PM 1 Tue Physics 10 AM 2 Wed Maths 10 AM 3 Thu English 2 PM 4 Fri Biology 10 AM
สรุป: การเพิ่มคอลัมน์ด้วย List Comprehension และเงื่อนไขเป็นวิธีที่มีประสิทธิภาพและอ่านง่าย สำหรับเงื่อนไขซับซ้อนมากขึ้นสามารถใช้ np.where() หรือ df.apply() ได้เช่นกัน