数据的数值转换有两种方式:
1. factorize
API:
pandas.factorize(values, sort=False, order=None, na_sentinel=-1, size_hint=None)
将对象编码为枚举类型或分类变量。
输入参数:
values: 一维数据序列
sort: 为数据加标签的时候需不需要保持原有数据的大小关系,默认False
na_sentinel: 对于没有找到数据的赋予的标签,默认-1
返回:
labels和uniques,一般使用的是labels,因此在factorize得到的数据要写上第几维数据。
pd.factorize()[0]
2. dummy
API:
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False,drop_first=False, dtype=None)
Convert categorical variable into dummy/indicator variables
输入参数:
prefix: 转换成dummy类型后新增加特征的名字前缀
具体这两种转换方法对于最后的结果有什么影响还没有试过,等豆桑把titanic程序看完了实验一下。
其实就豆桑自己分析的话,由于factorize后的数据不是归一化的,而get_dummies后的数据都是0和1,不需要再进行归一化,因此豆桑觉得可能更多地应用会是get_dummies。