📜  在 pandas 中创建年龄组 - Python (1)

📅  最后修改于: 2023-12-03 15:07:45.293000             🧑  作者: Mango

在 pandas 中创建年龄组 - Python

在数据分析中,有时需要将数据按照一定的规则进行分类和分组,pandas 是 Python 中一个常用的数据分析工具,其中涉及到的相关操作也是非常丰富的。本文将介绍在 pandas 中如何创建年龄组,希望能对你有所帮助。

导入 pandas 和 numpy 模块

在使用 pandas 和 numpy 的相关函数时,需要先进行模块的导入。

import pandas as pd
import numpy as np
创建数据

在本文中,我们使用一个包含员工信息的数据集来进行操作。

data = {
    'name': ['John', 'Mike', 'Bob', 'Tom', 'Lucy', 'Mary'],
    'age': [25, 45, 32, 19, 28, 36],
    'gender': ['M', 'M', 'M', 'M', 'F', 'F']
}
df = pd.DataFrame(data)
df.head()

输出:

    name  age gender
0   John   25      M
1   Mike   45      M
2    Bob   32      M
3    Tom   19      M
4   Lucy   28      F
创建年龄组

pandas 提供了 pandas.cut 函数来进行数据分组,通过指定数据、分组间隔和分组的标签来达到对数据的分类和分组效果。

在本例中,我们使用 pandas.cut 对员工的年龄进行分组操作。首先,需要确定分组的边界及标签。

bins = [0, 20, 30, 40, float('inf')]
labels = ['<20', '20-30', '30-40', '>=40']

bins 表示的是年龄组的边界,labels 表示的是每个年龄组的名称。例如,bins 中 [0, 20, 30, 40, float('inf')] 表示的是年龄分别是 0-20、20-30、30-40、大于等于 40 时,分别为一组。

接下来,就可以调用 pandas.cut 函数实现分组操作了。

df['age_group'] = pd.cut(df['age'], bins=bins, labels=labels)
df.head()

输出:

    name  age gender age_group
0   John   25      M     20-30
1   Mike   45      M      >=40
2    Bob   32      M     30-40
3    Tom   19      M       <20
4   Lucy   28      F     20-30

通过上述代码,我们将员工的年龄分成了 4 个组,并且将分组信息保存到了新的一列 age_group 中。

结论

本文介绍了如何在 pandas 中对数据进行分组操作,以实现更为灵活的数据处理和分析。pandas 中提供的 pandas.cut 函数可以针对特定的数据集,按照一定的规则进行分类和分组,使得数据更为清晰,易于处理和分析。