📌  相关文章
📜  Python|根据给定条件创建 Pandas 数据框列(1)

📅  最后修改于: 2023-12-03 14:46:29.267000             🧑  作者: Mango

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

在数据分析过程中,我们经常需要根据某些条件来创建新的数据列。本文将介绍如何使用 Pandas 库来创建列。

创建列的条件

假设我们有一个包含以下列的数据框:

import pandas as pd

df = pd.DataFrame({'age': [20, 30, 40, 50], 'gender': ['M', 'F', 'F', 'F']})

我们想要根据以下条件来创建一个新的列:

  • 年龄在 30 岁以上的人员,标记为老年人;
  • 年龄在 30 岁以上,且性别为女性的人员,标记为中年女性;
  • 年龄在 30 岁以下的人员,标记为年轻人。
创建新列

创建新列通常需要使用 apply() 函数,该函数可接收一个函数参数,用于对数据进行处理。以下是如何使用 Pandas 创建新列的方法:

def get_age_group(row):
    if row['age'] >= 30 and row['gender'] == 'F':
        return '中年女性'
    elif row['age'] >= 30:
        return '老年人'
    else:
        return '年轻人'

df['age_group'] = df.apply(get_age_group, axis=1)

print(df)

运行结果:

   age gender age_group
0   20      M      年轻人
1   30      F      老年人
2   40      F     中年女性
3   50      F      老年人

首先定义了一个 get_age_group() 函数,用于根据年龄和性别来判断年龄段,并返回相应的字符串。

然后,使用 apply() 函数将数据框中的每一行作为参数传递给 get_age_group() 函数,执行处理并返回新列数据。可选参数 axis=1 表示按行执行。

最后,将新的列数据插入数据框中,形成最终的输出结果。

总结

本文介绍了使用 Pandas 来创建数据框列的方法,详细说明了如何根据条件创建新列。希望可以帮助读者更好地掌握 Pandas 数据处理技巧。