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

การเพิ่มคอลัมน์ใน Pandas DataFrame ตามเงื่อนไขใน Python

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() ได้เช่นกัน