Pandas 根据if-elif-else条件创建新列

Pandas 根据if-elif-else条件创建新列

在本文中,我们将介绍如何使用Pandas在DataFrame中创建一个新列,并且该列的值基于if-elif-else条件语句。

在进行讲解之前,我们先来创建一个名为“employees”的DataFrame,其中包含三列数据:姓名、性别、排名。

import pandas as pd

df = pd.DataFrame({
    'Name': ['Tom', 'Jerry', 'Alice', 'Mary'],
    'Gender': ['Male', 'Male', 'Female', 'Female'],
    'Rank': [2, 4, 6, 8]
})

现在,我们想根据性别和排名来创建一个新列“评级”,如果是男性且排名在前两名,则评级为“优秀”,如果是女性且排名在前三名,则评级为“优秀”,否则评级为“良好”。下面是我们如何用if-elif-else条件语句在Pandas中实现:

def rank_employee(row):
    if (row['Gender'] == 'Male') & (row['Rank'] <= 2):
        return '优秀'
    elif (row['Gender'] == 'Female') & (row['Rank'] <= 3):
        return '优秀'
    else:
        return '良好'

df['评级'] = df.apply(rank_employee, axis=1)

在这个例子中,我们使用了apply函数将rank_employee函数应用于DataFrame的每一行。apply函数的axis参数设置为1表示按行应用函数。

现在,我们来打印一下“employees”DataFrame,看看我们是否成功创建了新列:

print(df)

输出:

    Name  Gender  Rank  评级
0    Tom    Male     2  优秀
1  Jerry    Male     4  良好
2  Alice  Female     6  良好
3   Mary  Female     8  良好

如我们所期望的一样,“评级”列已成功地添加到DataFrame中,并且每个员工都被正确评级。

阅读更多:Pandas 教程

总结

Pandas是一个非常强大和灵活的数据分析工具,可以帮助我们快速和方便地处理数据。在本文中,我们学习了如何使用if-elif-else条件语句在Pandas中创建一个新列,并且通过一个具体的例子来演示了如何使用apply函数对每一行数据进行操作。如果您还有其他关于Pandas的问题或需要更多的练习,请访问Pandas官方文档和教程。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程