Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo cột DataFrame Pandas dựa trên điều kiện trong Python

Pandas tạo DataFrame để xử lý dữ liệu trong Python. Bài viết này trình bày cách thêm cột mới vào DataFrame hiện có dựa trên điều kiện nhất định.

DataFrame ban đầu

Dưới đây là DataFrame Pandas cho trước, mô tả ngày và môn thi.

Ví dụ

import pandas as pd
# Danh sách ngày và môn thi
Days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Sub = ['Chemistry', 'Physics', 'Maths', 'English', 'Biology']
# Dictionary cho lịch thi
Exam_Subjects = {'Exam Day': Days, 'Exam Subject': Sub}
# Dictionary sang DataFrame
Exam_Subjects_df = pd.DataFrame(Exam_Subjects)
print(Exam_Subjects_df)

Kết quả

  Exam Day Exam Subject
0      Mon    Chemistry
1      Tue     Physics
2      Wed      Maths
3      Thu    English
4      Fri    Biology

Thêm cột mới có điều kiện

Tiếp theo, thêm cột chỉ định giờ thi. Sử dụng câu lệnh if trong list comprehension để đặt điều kiện và đặt tên cột mới là Time.

Ví dụ

import pandas as pd
# Danh sách ngày và môn thi
Days = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
Sub = ['Chemistry', 'Physics', 'Maths', 'English', 'Biology']
# Dictionary cho lịch thi
Exam_Subjects = {'Exam Day': Days, 'Exam Subject': Sub}
# Dictionary sang DataFrame
Exam_Subjects_df = pd.DataFrame(Exam_Subjects)
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)

Kết quả

  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