我有一个表格,其中包含与教育程度相对应的列:0, 1, 2....
等。
我想将这些功能更改为OPTIONS1: 'a'|'b'|'c';
OPTIONS2: 'c'|'d'|'e';
。为了将数据用作机器学习算法的输入。
Python中有没有办法自动将这些字符串功能映射到整数?
答案 0 :(得分:3)
如果您想拥有相同的序列号,可以使用enumerate
。
lista = [ "phd", "undergrad", "etc"]
>>> [i for i in enumerate(lista)]
[(0, 'phd'), (1, 'undergrad'), (2, 'etc')]
答案 1 :(得分:1)
它被称为dict(字典)。像这样:
edu_level = {
"phd": 0;
"master": 1;
"undergrad":2,
...
}
查找如何使用词典,也许使用键“Python词典教程”。
答案 2 :(得分:1)
您可能不希望将数据提供给机器学习算法 - 例如,如果phd是2且主人是1,这是否意味着phd是两倍好?您可以使用"一个热编码"并创建一个可以提供的二进制矩阵(即1& 0�)。
有多个库可以执行此操作,例如:http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
祝你好运!BA MS PHD Person A 0 0 0 Person B 1 0 0 Person C 0 0 1 ...