Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将多值变量转换为整数_Python_Pandas - Fatal编程技术网

如何在python中将多值变量转换为整数

如何在python中将多值变量转换为整数,python,pandas,Python,Pandas,如果我有一个带有两个值的变量(例如Sex可以取男性或女性),我会使用如下代码: train_df["Sex"] = train_df["Sex"].apply(lambda sex: 0 if sex == 'male' else 1) 将字符串转换为整数。 如果变量取2个以上的值,怎么做, 比如低/中/高工资?如何以与上述类似的方式分配值?您可以进行转换,例如: values = { "low" : 0, "med" : 1, "high": 2 } train_df

如果我有一个带有两个值的变量(例如Sex可以取男性或女性),我会使用如下代码:

train_df["Sex"] = train_df["Sex"].apply(lambda sex: 0 if sex == 'male' else 1)
将字符串转换为整数。 如果变量取2个以上的值,怎么做,
比如低/中/高工资?如何以与上述类似的方式分配值?

您可以进行转换,例如:

values = {
    "low" : 0,
    "med" : 1,
    "high": 2
}
train_df["Sex"] = train_df["Sex"].apply(lambda level: values.get(level, 0))
按字典使用:

d = {
    'male': 0,
    'female': 1,
    'other': 2
}

train_df["Sex"] = train_df["Sex"].map(d)
但对于
而言,如果需要按范围设置新值,则薪资
更好:

train_df = pd.DataFrame({'Salary': [100,200,300,500]})


bins = [0, 200, 400, np.inf]
labels=['low','medium','high']
train_df['label'] = pd.cut(train_df['Salary'], bins=bins, labels=labels)
print (train_df)
   Salary   label
0     100     low
1     200     low
2     300  medium
3     500    high
使用地图(字典)