Pandas Series.map()函数将非数字值转换为数字?

时间:2016-06-28 06:41:09

标签: python pandas

我尝试将非数字值转换为数值以计算决策树。但是,每次调用NaN函数时,map()值都会弹出。

这里是代码和必要的信息。

这是我得到的o / p。

Before calling map()

这是代码,调用map()函数。

x = {'BS':1,'MS':2,'CODE CAMP':3,'PHD':4}
df['education'] = df['education'].map(x)

After calling map() function

2 个答案:

答案 0 :(得分:2)

在列中的文本之前或之后看起来有些空格:

df = pd.DataFrame({'education' : ['BS ','MS ','MS ']})
print (df)
  education
0       BS 
1       MS 
2       MS 

x={'BS':1,'MS':2,'CODE CAMP':3,'PHD':4}
df['education']=df['education'].map(x)
print (df)
   education
0        NaN
1        NaN
2        NaN

您可以str.strip删除它们:

df['education']=df['education'].str.strip().map(x)
print (df)
   education
0          1
1          2
2          2

答案 1 :(得分:-2)

df = df.drop("education", 1)

你刚刚使用drop()来了解教育。教育集团没有建立决策树的意义,所以只需丢弃它。