如何在python中将多值变量转换为整数[重复]
Posted
技术标签:
【中文标题】如何在python中将多值变量转换为整数[重复]【英文标题】:How to convert multi value variables into integer in python [duplicate] 【发布时间】:2018-06-02 18:12:09 【问题描述】:如果我有一个具有两个值的变量(例如 Sex 可以取男性或女性),我会使用类似的代码,
train_df["Sex"] = train_df["Sex"].apply(lambda sex: 0 if sex == 'male' else 1)
将字符串转换为整数。 如果变量取超过 2 个值,该怎么办? 像薪水归类为低/中/高?与上面类似如何赋值?
【问题讨论】:
使用地图(字典) 【参考方案1】:按字典使用map
:
d =
'male': 0,
'female': 1,
'other': 2
train_df["Sex"] = train_df["Sex"].map(d)
但如果需要按范围的新值,Salary
更好 cut
:
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
【讨论】:
【参考方案2】:您可以制作一个转换字典,例如:
values =
"low" : 0,
"med" : 1,
"high": 2
train_df["Sex"] = train_df["Sex"].apply(lambda level: values.get(level, 0))
【讨论】:
以上是关于如何在python中将多值变量转换为整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章