根据Python中的给定条件创建Pandas数据框列

熊猫创建数据帧以处理python程序中的数据。在本文中,我们将看到如何根据某些条件向现有数据框添加新列。

给定的数据框

以下是给定的pandas DataFrame,我们将在其中添加其他列。它描述了考试的天数和科目。

示例

import pandas as pd

# Lists for Exam subjects and Days
Days = ['Mon', 'Tue', 'Wed','Thu', 'Fri']
Sub = ['Chemisry','Physics','Maths','English','Biology']

# Dictionary for Exam Schedule
Exam_Subjects = {'Exam Day': Days,
               'Exam Subject': Sub}

# Dictionary to DataFrame
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

# Lists for Exam subjects
Days = ['Mon', 'Tue', 'Wed','Thu', 'Fri']
Sub = ['Chemisry','Physics','Maths','English','Biology']


# Dictionary for Exam Schedule
Exam_Subjects = {'Exam Day': Days,
                  'Exam Subject': Sub}

# Dictionary to 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)

输出结果

运行上面的代码给我们以下结果-

  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