当前位置: 首页 > 知识库问答 >
问题:

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

孙风畔
2023-03-14

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

train_df["Sex"] = train_df["Sex"].apply(lambda sex: 0 if sex == 'male' else 1)

将字符串转换为整数。如果变量包含两个以上的值,如分类为低/中/高的工资,该怎么做?如何分配与上述类似的值?

共有2个答案

景震博
2023-03-14

您可以进行转换判决,例如:

values = {
    "low" : 0,
    "med" : 1,
    "high": 2
}
train_df["Sex"] = train_df["Sex"].apply(lambda level: values.get(level, 0))
傅博容
2023-03-14

通过字典使用map

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
 类似资料:
  • 我有一些带有小端编码字节的文件,我想取字节,指定endianess并使用python(任何版本)将它们转换为十进制数。如何正确执行?

  • 我有一个数组值,如下所示: 所以每个数组值都被认为是一个变量,我想动态地存储这些变量的一些值,如下所示: 以便将数组值转换为变量。这可能吗? 我不想像这样使用use obj[resi_spec]并且我使用array而不是variable如果我只是输入resi_spec意思,我会得到早上好。

  • 问题内容: 我有类似的问题,但是我不知道这个词是什么 它应该打印出来 所以我想知道是否有实际的方法或函数可以用来检索用作字符串的变量名。 问题答案: 您基本上是在问“我的代码如何发现对象的名称?” 一个报价从弗雷德里克Lundh开发(在comp.lang.python)是 特别 适用于本案。 获得在门廊上找到的那只猫的名字的方法相同:猫(对象)本身无法告诉您它的名字,并且它并不在乎–因此,找出猫叫

  • 问题内容: 我有一个来自MySQL查询的元组,像这样: 我想将所有字符串元素转换为整数,然后将它们放回列表列表中: 我试图用它来实现它,eval但是还没有得到任何体面的结果。 问题答案: 是Python标准的内置函数,用于将字符串转换为整数值。你可以使用包含数字作为参数的字符串来调用它,然后返回转换为整数的数字: 上面的照片2。 如果你知道列表T1的结构(它仅包含列表,仅一个级别),则可以在Pyt

  • 转换为json格式。

  • 问题内容: 如何在python中将YYYY-MM-DD hh:mm:ss格式转换为整数?例如2014-02-12 20:51:14->转换为整数。 我知道如何仅转换hh:mm:ss,但不转换 yyyy-mm-dd hh:mm:ss 问题答案: 这取决于整数应编码的内容。您可以将日期转换为以前某个时间的毫秒数。人们通常将其粘贴到1970年1月1日上午12:00或1900等,然后以该点之后的整数毫秒为