Python 3.x 在python中如何将薪资分为高/中/低组?
我有一个包含工资详细信息的员工数据集。我想添加一个额外的列来显示他们的薪资组,如高/中/低: 数据:Python 3.x 在python中如何将薪资分为高/中/低组?,python-3.x,pandas,numpy,dataframe,Python 3.x,Pandas,Numpy,Dataframe,我有一个包含工资详细信息的员工数据集。我想添加一个额外的列来显示他们的薪资组,如高/中/低: 数据: Empno Sal Deptno 1 800 20 2 1600 30 3 2975 20 4 1250 30 5 2850 30 6 2450 10 7 3000 20 Empno Sal Deptno Sal_Group
Empno Sal Deptno
1 800 20
2 1600 30
3 2975 20
4 1250 30
5 2850 30
6 2450 10
7 3000 20
Empno Sal Deptno Sal_Group
1 800 20 low
2 1600 30 mid
3 2975 20 ...
4 1250 30 ...
5 2850 30 ...
6 2450 10 ...
7 3000 20 high
预期输出:
Empno Sal Deptno
1 800 20
2 1600 30
3 2975 20
4 1250 30
5 2850 30
6 2450 10
7 3000 20
Empno Sal Deptno Sal_Group
1 800 20 low
2 1600 30 mid
3 2975 20 ...
4 1250 30 ...
5 2850 30 ...
6 2450 10 ...
7 3000 20 high
您可以尝试以下方法:
import pandas as pd
import numpy as np
df = pd.read_csv("file.csv")
bins = np.linspace(min(df['Sal']), max(df['Sal']),4)
groupNames = ["low", "med", "high"]
df['SalGroup'] = pd.cut(df['Sal'], bins, labels = groupNames, include_lowest = True)
print(df)