让我们举一个例子,假设我的表值为:
受试者
英语
数学
科学
英语
科学
如何将这些字符串数据转换为编号数据,如下表所示。
受试者
1
2
3
1
3
答案 0 :(得分:0)
假设您的原始数据框如下所示:
>>> df
subjects
0 english
1 mathematics
2 science
3 english
4 science
您可以使用pd.factorize
:
df['factor'] = pd.factorize(df['subjects'])[0]+1
>>> df
subjects factor
0 english 1
1 mathematics 2
2 science 3
3 english 1
4 science 3
或者,如果您只想替换subjects
中的值而不是创建新列factor
,请执行以下操作:
df['subjects'] = pd.factorize(df['subjects'])[0]+1
请注意,+1
只是为了让您的确切输出范围为1到3.如果没有它,您仍然会获得有效的类别,范围从0到2。