我正在研究机器学习的汽车评估数据集,数据集是这样的
buying,maint,doors,persons,lug_boot,safety,class vhigh,vhigh,2,2,small,low,unacc vhigh,vhigh,2,2,small,med,unacc vhigh,vhigh,2,2,small,high,unacc vhigh,vhigh,2,2,med,low,unacc vhigh,vhigh,2,2,med,med,unacc vhigh,vhigh,2,2,med,high,unacc
我想将这些字符串按列转换为唯一的枚举整数.我看到pandas.factorize()是要走的路,但它只适用于一列.如何使用一个命令一次性分解数据帧.
我尝试了lambda功能,但它无法正常工作.
df.apply(lambda c:pd.factorize(c),axis = 1)
输出:
0 ([0, 0, 1, 1, 2, 3, 4], [vhigh, 2, small, low,... 1 ([0, 0, 1, 1, 2, 3, 4], [vhigh, 2, small, med,... 2 ([0, 0, 1, 1, 2, 3, 4], [vhigh, 2, small, high... 3 ([0, 0, 1, 1, 2, 3, 4], [vhigh, 2, med, low, u... 4 ([0, 0, 1, 1, 2, 2, 3], [vhigh, 2, med, unacc]) 5 ([0, 0, 1, 1, 2, 3, 4], [vhigh, 2, med, high, ...
我看到编码的值,但不能从上面的数组拉出来