📅  最后修改于: 2023-12-03 15:07:45.293000             🧑  作者: Mango
在数据分析中,有时需要将数据按照一定的规则进行分类和分组,pandas 是 Python 中一个常用的数据分析工具,其中涉及到的相关操作也是非常丰富的。本文将介绍在 pandas 中如何创建年龄组,希望能对你有所帮助。
在使用 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 函数可以针对特定的数据集,按照一定的规则进行分类和分组,使得数据更为清晰,易于处理和分析。