在数据分析时,会遇到一些非数值型的类别变量,例如字符串类型(string)。比如,西瓜的色泽:青绿、浅白、乌黑等等…直接放在svm、决策树或者贝叶斯分类器时,不方便处理,也直接套用sklearn中的内置算法。因而在预处理时需要对他们做相应的处理。
一般可以把类别数据分为:无序和有序两类。
有序:比如衣服尺码,S、M、L、XL,是有大小的;再比如拥堵指数,数值由0变化到4随拥堵加剧
无序:比如衣服颜色,黑、白、黄、蓝、绿,是没有大小(优劣)序列的类别
(1)有序序列
我们可以用map函数,将字符型类别替换成有大小顺序的数值。
# 定义一个DataFrame数据
data = pd.DataFrame([
["green", "S", 100,"label1"],
["blue", "M", 110,"label2"],
["red", "X", 120,"label3"],
<