Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้าง Pandas DataFrame จากดิกชันนารีของลิสต์ที่มีความยาวเท่ากัน

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 อ่านง่ายกว่าเมื่อลิสต์ใหญ่หรือต้องนำไปใช้ซ้ำ