在Python中基于给定条件创建Pandas数据帧列
Pandas创建数据帧以在Python程序中处理数据。在本文中,我们将看到如何基于某些条件向现有数据帧添加新列。
给定的数据帧
以下是给定的Pandas数据帧,我们将添加附加列。它描述了考试的日期和科目。
示例
import pandas as pd
# 考试科目和日期列表
Days = ['Mon', 'Tue', 'Wed','Thu', 'Fri']
Sub = ['Chemisry','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 Chemisry
1 Tue Physics
2 Wed Maths
3 Thu English
4 Fri Biology
添加新列
接下来我们决定添加另一列,指定考试时间。在这里,我们使用if语句添加条件,并将附加列命名为Time。
示例
import pandas as pd
# 考试科目列表
Days = ['Mon', 'Tue', 'Wed','Thu', 'Fri']
Sub = ['Chemisry','Physics','Maths','English','Biology']
# 考试日程的字典
Exam_Subjects = {'Exam Day': Days,
'Exam Subject': Sub}
# 将字典转换为数据帧
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)
输出
运行上述代码将给出以下结果−
Exam Day Exam Subject Time
0 Mon Chemisry 2 PM
1 Tue Physics 10 AM
2 Wed Maths 10 AM
3 Thu English 2 PM
4 Fri Biology 10 AM