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


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 语句添加条件并把附加列命名为时间。

示例

 实时演示

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

更新于:2020 年 8 月 26 日

230 次浏览

开启你的职业

通过完成课程获得认证

开始
广告