DataFrame ใน Pandas สร้างได้หลายวิธี หนึ่งในนั้นคือแปลงจากดิกชันนารีที่มีลิสต์เป็นค่า บทความนี้แสดง 2 รูปแบบการเขียน
วิธีที่ 1: ประกาศลิสต์แยกต่างหาก แล้วนำมาสร้างดิกชันนารี
ประกาศลิสต์แต่ละอันแยกกัน แล้วนำไปเป็นค่าในดิกชันนารี ตามด้วย pd.DataFrame()
ตัวอย่างโค้ด
import pandas as pd
# ลิสต์แยกต่างหาก
Days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Sub = ['Chemistry', 'Physics', 'Maths', 'English', 'Biology']
Time = ['2 PM', '10 AM', '11 AM', '1 PM', '3 PM']
# สร้างดิกชันนารี
Exam_Schedule = {
'Exam Day': Days,
'Exam Subject': Sub,
'Exam Time': Time
}
# แปลงเป็น DataFrame
Exam_Schedule_df = pd.DataFrame(Exam_Schedule)
print(Exam_Schedule_df)
ผลลัพธ์
Exam Day Exam Subject Exam Time 0 Mon Chemistry 2 PM 1 Tue Physics 10 AM 2 Wed Maths 11 AM 3 Thu English 1 PM 4 Fri Biology 3 PM
วิธีที่ 2: เขียนลิสต์โดยตรงในดิกชันนารี (Inline)
เขียนลิสต์เป็นค่าในดิกชันนารีทันที ไม่ต้องประกาศตัวแปรแยก กระชับกว่า
ตัวอย่างโค้ด
import pandas as pd
Exam_Schedule = {
'Exam Day': ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
'Exam Subject': ['Chemistry', 'Physics', 'Maths', 'English', 'Biology'],
'Exam Time': ['2 PM', '10 AM', '11 AM', '1 PM', '3 PM']
}
Exam_Schedule_df = pd.DataFrame(Exam_Schedule)
print(Exam_Schedule_df)
ผลลัพธ์
Exam Day Exam Subject Exam Time 0 Mon Chemistry 2 PM 1 Tue Physics 10 AM 2 Wed Maths 11 AM 3 Thu English 1 PM 4 Fri Biology 3 PM
สรุป: ทั้งสองวิธีให้ผลลัพธ์เหมือนกัน วิธีที่ 2 เขียนสั้นกว่า เหมาะสำหรับข้อมูลเล็ก วิธีที่ 1 อ่านง่ายกว่าเมื่อลิสต์ใหญ่หรือต้องนำไปใช้ซ้ำ